Вход на сайт
нужна помощь с++
09.12.12 17:57
Добрый день,
я составляю программу на с++ для интерполяции. Сам процесс интерполяции сделала. Проблемы со считыванием файлов и есть кое какие вопросы по классам. Кто может разъяснить некоторые вопросы? Например, как исправить ошибку "Expression str!=NULL Line 55"? Где искать эту Line 55? Если найдется желающий помочь в районе Paderborn, с удовольствием возьму Nachhilfestunde. Только я не понимаю никаких спецназваний на русском ))
Спасибо заранее))
я составляю программу на с++ для интерполяции. Сам процесс интерполяции сделала. Проблемы со считыванием файлов и есть кое какие вопросы по классам. Кто может разъяснить некоторые вопросы? Например, как исправить ошибку "Expression str!=NULL Line 55"? Где искать эту Line 55? Если найдется желающий помочь в районе Paderborn, с удовольствием возьму Nachhilfestunde. Только я не понимаю никаких спецназваний на русском ))
Спасибо заранее))
Слава богу, я атеист..
NEW 10.12.12 10:21
в ответ Sweti lipmos 09.12.12 17:57
В редакторе кода слева от начала каждой строки должен стоять её номер. Если это не так, можно либо включить эту настройку в редакторе, либо просто дважды щёлкнуть по сообщению об ошибке, редактор должен перейти на эту строчку.
Ну или можно установить редактор типа Notepad++ и открыть файл в нём - там строки тоже нумеруются, будет видно.
Ну или можно установить редактор типа Notepad++ и открыть файл в нём - там строки тоже нумеруются, будет видно.
NEW 10.12.12 12:05
еще вариант: практически все современные программистские редакторы (по кр. мере под виндой): a) показывают строку в статусной строке окна редактора b) позволяют перейти на нужную строку через Ctrl + G
NEW 10.12.12 21:01
в ответ Sweti lipmos 10.12.12 20:43
NEW 10.12.12 21:24
#include "stdafx.h"
#include "ausgabe.h"
void printvector (double *vector, int laenge);
int lesenAuswertungspunkte (double *auswertungspunktex, double *auswertungspunktey);
int main(int argc, char* argv[])
{
double *Interpolationspunktex =NULL;
double *Interpolationspunktey=NULL;
int laenge = lesenAuswertungspunkte (Interpolationspunktex, Interpolationspunktey);
int lesenAuswertungspunkte (double *auswertungspunktex, double*auswertungspunktey)
{
char dateiname [100];
printf_s ("Welche Datei möchten Sie zum lesen von Interpolationspunkte öffnen? ");
sscanf_s ("%s",dateiname, strlen (dateiname));
int a;
FILE *fp=_fsopen(dateiname, "rt+",_SH_DENYRD);
if (fp!=NULL)
{
char Line [100];
if (fgets(Line, 100, fp)==NULL)
{
printf_s("Die Zeile in der Datei %s kann nicht geoeffnet werden", dateiname);
return 0;
}
if (sscanf_s(Line, "Anzahl %d", &a)!=1)
{
printf_s("Falsche Datei geoeffnet?");
return 0;
}
auswertungspunktex= new double [a];
auswertungspunktey= new double [a];
for (int i=0; i<=1; i++)
{
for (int j=0; j<=a; j++)
{
if (feof (fp)==0)
{
printf ("Fehler beim auslesen von x oder y");
return 0;
}
if (i==0)
fscanf_s(fp, "%f", auswertungspunktex [j]);
else fscanf_s (fp, "%f", auswertungspunktey [j]);
}
}
printf_s ("Ihre Interpolationspunkte x:");
printvector (auswertungspunktex, a);
printf_s ("Ihre Interpolationspunkte y:");
printvector (auswertungspunktey, a);
fclose (fp);
}
printf_s("diese Datei existiert nicht!");
return a;
}
Только не ругайтесь сильно, я начинающая!!
Слава богу, я атеист..
NEW 10.12.12 21:50
в ответ Simple 10.12.12 21:33
ну так это же только часть программы.. Там есть класс и обьекты. Эта метода в main.cpp, тк я ее не на обьекте использую, а просто мне надо векторы считать с файла. Она должна самая первая выполняться и на ней я вишу..
Почему то не форматируется - выдается все равно так как Вы ее видите. Tera pre это что? Вы, пожалуйста, не злитесь на меня, что я не знаю такого. Что я не знаю- лезу в инет..Там что то совсем не понятное на эту тему..Надо что то скачать?
Почему то не форматируется - выдается все равно так как Вы ее видите. Tera pre это что? Вы, пожалуйста, не злитесь на меня, что я не знаю такого. Что я не знаю- лезу в инет..Там что то совсем не понятное на эту тему..Надо что то скачать?
Слава богу, я атеист..
NEW 10.12.12 21:52
NEW 10.12.12 22:18
когда компилирую: Спрашивает:Welches Datei möchten Sie zum lesen von Interpolationspunkte öffnen? Значит, метода начала работу..
называю : Text.txt. И все. Стрелка указывает на методу FILE *fp=_fsopen(dateiname, "rt+",_SH_DENYRD); то есть там программа остановилась. Никаких ошибок не выдает больше. char * Line (когда мышь ставишь на него) показывает (как комментар) как прчитаный из файла, то есть "Anzahl 5" . Файл такой:
первая строка Anzahl 5
вторая 0.0 1.0 ...undsoweiter (ein vektor mit 5 koordinaten)
третья 1.1 2.1 ... undsoweiter(ein vektor mit 5 koordinaten)
тоесть первую строку "узнает", а 5 как integer а (здесь: if (sscanf_s(Line, "Anzahl %d", &a)!=1) ) уже нет, показывает просто ее адрес.
Не знаю понятно ли обьяснила ...?
Сам метод должет считать первую строку и запомнить число 5 как int a. Потом считываю вторую строку и запоминаю ее как вектор auswertungspunktex длины 5 и третью соответственно как auswertungspunktey длины 5. И распечатать.
называю : Text.txt. И все. Стрелка указывает на методу FILE *fp=_fsopen(dateiname, "rt+",_SH_DENYRD); то есть там программа остановилась. Никаких ошибок не выдает больше. char * Line (когда мышь ставишь на него) показывает (как комментар) как прчитаный из файла, то есть "Anzahl 5" . Файл такой:
первая строка Anzahl 5
вторая 0.0 1.0 ...undsoweiter (ein vektor mit 5 koordinaten)
третья 1.1 2.1 ... undsoweiter(ein vektor mit 5 koordinaten)
тоесть первую строку "узнает", а 5 как integer а (здесь: if (sscanf_s(Line, "Anzahl %d", &a)!=1) ) уже нет, показывает просто ее адрес.
Не знаю понятно ли обьяснила ...?
Сам метод должет считать первую строку и запомнить число 5 как int a. Потом считываю вторую строку и запоминаю ее как вектор auswertungspunktex длины 5 и третью соответственно как auswertungspunktey длины 5. И распечатать.
Слава богу, я атеист..