Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2008, 22:49   #1
Darw1n
Пользователь
 
Регистрация: 27.04.2008
Сообщений: 17
По умолчанию проблема с функцией atoi

Товарищи программисты помогите пожалуйста бедному студенту и его никудышному преподавателю, которая не знает что в этом коде не так... Заранее огромное спасибо!
Цель программы вывести из одного файла фамилии студентов, а из другого их оценки, как они расположены, все равно, главное понять почему функиция atoi выводит мне вместо цифры 5 цифры вроде 0012F0F41??
Цитата:
// dsf.cpp : main project file.
#include <stdafx.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
using namespace std;
typedef struct
{
char surname[50];
int mark[5],*pmark;
}structik;
int main()
{
FILE *file;
structik st[9];
structik *sp=&st[9];
char s[80];
char* file_name = "student.txt";
if((file = fopen( "student.txt", "r" ))==NULL){
cout<<'NET'<<endl;
return 1;}
while (!feof(file))
fgets(sp->surname, 50, file);
fclose(file);
FILE *f_mark;
file_name = "marks.txt";
if((f_mark = fopen( "marks.txt", "r" )) ==NULL){
cout<<'NET'<<endl;
return 1;}
int i;
sp=&st[1];
do
{
fgets(s, 80, f_mark);
cout<<s<<endl;
cout<<strlen(s)<<endl;
for (i=0; i<strlen(s); i++){
cout<<i<<endl;
st[i].mark[i]=atoi(&s[i]);//atoi не работает, он переводит адрес строки, а не ст
cout<<st[i].mark;}
}while (!feof(f_mark));
fclose(f_mark);
return 0;
}
Darw1n вне форума Ответить с цитированием
Старый 08.10.2008, 23:09   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

ну а ты чего ожидаешь) он переводит адрес i-того элемента в массиве s.
делай так:
st[i].mark[i]=atoi(s);
vvviperrr вне форума Ответить с цитированием
Старый 08.10.2008, 23:21   #3
Darw1n
Пользователь
 
Регистрация: 27.04.2008
Сообщений: 17
По умолчанию

Блиииинн... мне даже стыдно что не додумался... спасибо огромное!
Darw1n вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с функцией замены... dast Microsoft Office Excel 6 09.10.2008 20:30
помогите с функцией 1234 Общие вопросы Delphi 5 30.08.2008 10:55
Помогите с функцией Родион Общие вопросы Delphi 3 08.05.2008 19:18
codeblocks - проблема с функцией main() хиппан Общие вопросы C/C++ 2 04.01.2008 19:41
помогите с функцией zetrix Microsoft Office Excel 0 31.10.2006 07:32