Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
#1

что-то не так - C++

12.03.2011, 02:24. Просмотров 2069. Ответов 6
Метки нет (Все метки)

в кои-то веки добился того что компилятор c-free не ругается на мой модуль.но использовать там я его не могу.
решил запустить на visual studio.
создал новый проект,в него отправил код из основной программы.потом надо было присоединить модуль.перенес файлы spisok.cpp и spisok.h в каталог с проектом.
проект - добавить существующий объект - добавил и spisok.cpp и spisok.h.при компиляции выдает такие ошибки.

Кликните здесь для просмотра всего текста
Код
1>Rpjj.cpp(18): error C2664: 'strcat' : cannot convert parameter 1 from '_TCHAR *' to 'char *'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>Rpjj.cpp(19): error C2664: 'fopen' : cannot convert parameter 1 from '_TCHAR *' to 'const char *'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>Rpjj.cpp(32): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>Rpjj.cpp(34): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>Rpjj.cpp(36): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>Rpjj.cpp(48): error C2065: 'cout' : undeclared identifier
1>Rpjj.cpp(48): error C2065: 'endl' : undeclared identifier
1>Rpjj.cpp(49): error C2065: 'cin' : undeclared identifier
1>Rpjj.cpp(60): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>Rpjj.cpp(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>Rpjj.cpp(64): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>  spisok.cpp
1>spisok.cpp(1): warning C4627: '#include <stdlib.h>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>spisok.cpp(2): warning C4627: '#include <string.h>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>spisok.cpp(3): warning C4627: '#include "spisok.h"': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>spisok.cpp(4): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>spisok.cpp(69): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?


вот что в проекте
spisok.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef SPISOK_H
#define SPISOK_H
 
typedef struct
{
    int nomer;
    char seans[10];
    char data[30];
    char tim[10];
    int place;
    int red;
}bilet;
 
void Add(bilet);
void Find(char*);
void Destroy();
void Show();
 
#endif
spisok.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdlib.h>
#include <string.h>
#include "spisok.h"
#include <iostream>
 
 
 
bilet *list = NULL; //Указатель на список
int cnt = 0;//Количество элементов в списке
/*Тип – системный или пользовательский тип даны, значения данного типа хранятся в
списке.
Функция добавления элемента в конец списка:*/
 
void Add(bilet val)
{
 bilet *tmp =(bilet*) calloc(cnt+1,sizeof(bilet));
 if(!tmp) return;
 if(cnt) memcpy(tmp,list,cnt*sizeof(bilet));
 tmp[cnt] = val;
 cnt++; if(list) free(list); list = tmp;
}
 
//Функция вставки элемента в список:
void Ins(bilet val, int ind)
{
 if(ind < 0) return;
 if(ind >= cnt) {Add(val);return;};
 bilet *tmp = (bilet*)calloc(cnt+1,sizeof(bilet));
 if(!tmp) return;
 memcpy(tmp,list,ind*sizeof(bilet));
 tmp[ind] = val;
 memcpy(&tmp[ind+1],&list[ind],(cnt-ind)*sizeof(bilet));
 cnt++; free(list); list = tmp;
}
 
//Функция удаления элемента из списка:
void Del(int ind)
{
 if((ind<0)||(ind >= cnt)) return;
 if(cnt == 1) {Destroy(); return;}
 bilet *tmp = (bilet*)calloc(cnt-1,sizeof(bilet));
 if(!tmp) return;
 memcpy(tmp,list,ind*sizeof(bilet));
 memcpy(&tmp[ind],&list[ind+1],(cnt-ind-1)*sizeof(bilet));
 cnt--; free(list); list = tmp;
}
 
void Find(char *x)
{
    for(int i=0;i<cnt;i++)
     if (!strcmp(list[i].data,x))
      Del(i);
}
 
void Show()
{
    for(int i=0;i<cnt;i++)
     cout<<list[i].nomer<<" "<<list[i].seans<<" "<<list[i].data<<" "<<list[i].tim<<" "<<list[i].place<<" "<<list[i].red<<endl;
}
     
 
//Функция удаления всего списка:
void Destroy()
{
 if(list) free(list);
 list = NULL; cnt = 0;
}
и главная прога
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Rpjj.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
 
#include "spisok.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE *ft;
    char s[100];
    char name[10];
    strcat(argv[2],".txt");
    ft=fopen(argv[2],"rt");
    int n=0;
    if (ft!=NULL){
       while (!feof(ft))
       {
          if (!feof(ft))
          {
             bilet tmp;
             fgets(s,100,ft);
             char *str;
             str=strtok(s," ");
             tmp.nomer=atoi(str);
             str=strtok(NULL," ");
             strcpy(tmp.seans,str);
             str=strtok(NULL," ");
             strcpy(tmp.data,str);
             str=strtok(NULL," ");
             strcpy(tmp.tim,str);
             str=strtok(NULL," ");
             tmp.place=atoi(str);
             str=strtok(NULL," ");
             tmp.red=atoi(str);
             Add(tmp);
          }
       }
       fclose(ft);
    }
    else
    {
       cout<<"Elems"<<endl;
       cin>>n;
       for(int i=0;i<n;i++)
       {
          printf("# seans ##.##.#### ##:## # #");
          gets(s);
          bilet tmp;
          //fgets(s,100,ft);
          char *str;
          str=strtok(s," ");
          tmp.nomer=atoi(str);
          str=strtok(NULL," ");
          strcpy(tmp.seans,str);
          str=strtok(NULL," ");
          strcpy(tmp.data,str);
          str=strtok(NULL," ");
          strcpy(tmp.tim,str);
          str=strtok(NULL," ");
          tmp.place=atoi(str);
          str=strtok(NULL," ");
          tmp.red=atoi(str);
          Add(tmp);
       }
    }
    Show();
    return 0;
}
Теоретически код должен быть рабочий.
Что я сделал не так?

P.s ну с cout все ясно к слову.

Добавлено через 23 минуты
В частности интересует ошибка с _TCHAR
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2011, 02:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос что-то не так (C++):

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее? - C++
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float a,c; char b; skip: ...

Что в коде ни так? while не работает так, как ожидаю - C++
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от 702 до 1000. Что ни так понимаю, где...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю - C++
Дело в том что при запуске вот этой программы: #include &lt;iostream&gt; using namespace std; int main () { for (int i=100; i&lt;=999;...

Что в программе делает так, что процессор грузится на 100%? - C++
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот код программы, на компьютере жрет всю...

Список: Что не так с выводом списка, потому что выводится какой-то мусор? - C++
#include &lt;iostream&gt; using namespace std; struct point { int data;//информационное поле-это даннные объявленного или используемого...

Лучший интерактивный самоучитель с++, но так понравился, что думаю, а что если после python изучать с++? - C++
http://academy.cppstudio.com/courses/ 1.) поделитесь опытом после какого языка вы перешли на с++. 2.) Что вам нравится/не очень в языке...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.03.2011, 02:24 #2
юникод выбран
вообщем как всегда
0
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
12.03.2011, 02:26  [ТС] #3
Цитата Сообщение от alex_x_x Посмотреть сообщение
юникод выбран
Где?Что?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.03.2011, 02:33 #4
если собираетесь писать под винду читайте, пригодится
http://wm-help.net/books-online/book.../59464-13.html
1
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
12.03.2011, 02:57  [ТС] #5

Не по теме:

Пусть я и изменения (чтобы работу кода проверить) внесу но поскольку лабы сдавать в вижуалке нельзя то придется искать другой компилятор.


ясно.кстати я на C билдере столкнусь с подобной проблемой или нет?
0
alex_x_x
12.03.2011, 03:04
  #6

Не по теме:

Цитата Сообщение от Artishok Посмотреть сообщение
ясно.кстати я на C билдере столкнусь с подобной проблемой или нет?
не имею представления

0
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
12.03.2011, 03:07  [ТС] #7
Цитата Сообщение от alex_x_x Посмотреть сообщение

Не по теме:


не имею представления

Не по теме:

Значит выясним в процессе

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2011, 03:07
Привет! Вот еще темы с ответами:

Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе? - C++
#include &lt;iostream&gt; using namespace std; int main(){ double x, y; int R=10 cout &lt;&lt; &quot;Введите x: &quot; &lt;&lt;...

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку - C++
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

Что не так? - C++
Решаю олимпиадные задачи по-тихоньку. Щас встрял на второй задаче... #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt;...

Что не так? - C++
std::istream&amp; operator&gt;&gt; (std::istream&amp; input, Crypta&amp; crypta) { std::cout&lt;&lt;&quot;Enter a full way of the file - &quot;; crypta.file_ =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.03.2011, 03:07
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru