Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 22:49   #1
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
Восклицание Посмотрите,нужно исправить проблемы с програмой!

задание -
Описать структуру с именем student, содержит следующие поля:
- Фамилия и инициалы;
-номер группы;
-успеваемость (массив из 5 элементов);
Программа должна выполнять следующие действия:
- Ввод с клавиатуры данных в массив состоящий из 5 структур типа stedent;
- Упорядочить записи в алфавитном порядке;
- Вывести на экран студентов имеющих хоть одну 2 со всей информацией о них;
- Если таких студентов не должно вывести соответствующее сообщение.
имеющейся код прогамы:
// 2.cpp : Defines the entry point for the console application.
//


Код:
#include "stdafx.h"
#include "iostream.h"
#include "conio.h"
#include "fstream.h"
#include "io.h"
#include <sys\stat.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
int compare(const void*arg1,const void*arg2)
{
	return strcmp((char*)arg1,(char*)arg2);
}

	struct student
	{char prizv[50];
	char nomergr[4];
	int uspischmist[5];
	};
void main(int argc, char* argv[])	
{int z;
	student a[5]={{"kurotschka",2,2,3,4,5,6},
{"ksdgfdka",2,6,3,4,5,6},
{"kurosfsdfga",6,5,3,4,5,6},
{"kfdgsdfgschka",5,2,3,4,5,6},
{"sdfgdfchka",4,2,3,4,5,6}};
{ menu:cout<<"dlja vvodu danich pro stidentiv natisni 1\n";   
cout<<"dlja ogolosit s inizializazijeju 2\n";
cout<<"dlja wivedenna danich pro studentiw jaki majut 2 natisni 3\n";
cin>>z;
switch(z) {
case 1:{for (int i=0; i<5; i++)
{cout<<"Vvedit prizvische,imja, po batkovi\n";
	cin>>a[i].prizv;
	cout<<"Vvedit nomer grupi\n";
	cin>>a[i].nomergr;
	for	(int c=0; c<5; c++)
	{cout<<"Vvedite ocinku\n";
	cin>>a[i].uspischmist[c];}}};
case 2: {for (int i=0; i<5; i++){
		qsort(a,3,sizeof(student),compare);}};
case 3: {for (int i=0; i<5; i++)
{for (int c=0; c<5; i++)
{if(a[i].uspischmist[c]==2)
{cout<<a[i].prizv;  
cout<<a[i].nomergr;
cout<<a[i].uspischmist;
		}}}}




}}}

Последний раз редактировалось MaTBeu; 28.03.2010 в 23:44.
sergejwinlamer вне форума Ответить с цитированием
Старый 28.03.2010, 23:25   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

1. Тег CODE вам в руки
2. Примените адекватное форматирование, лесенкой. А то
Код:
}}}}
я вообще впервые вижу. Вы же сами если потеряете одну скобку не сможете найти, где это произошло - при таком-то оформлении.
3. Зачем столько include'ов?
4.
Код:
menu:
Я не нашел, но у вас тут что ли где-то goto? Если да - то забудьте о нем!
5. И наконец: а что, собственно, за проблемы-то?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 28.03.2010, 23:45   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код:
#include <sys\stat.h>
#include <windows.h>
Скажем так - это взаимоисключающие параграфы. Оставьте первый - если собираете под Linux, или второй - если под Windows.
Один из них все равно лишний.
MaTBeu вне форума Ответить с цитированием
Старый 28.03.2010, 23:54   #4
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
Восклицание

Цитата:
Сообщение от Гром Посмотреть сообщение
1. Тег CODE вам в руки
2. Примените адекватное форматирование, лесенкой. А то
Код:
}}}}
я вообще впервые вижу. Вы же сами если потеряете одну скобку не сможете найти, где это произошло - при таком-то оформлении.
3. Зачем столько include'ов?
4.
Код:
menu:
Я не нашел, но у вас тут что ли где-то goto? Если да - то забудьте о нем!
5. И наконец: а что, собственно, за проблемы-то?

Да просто я не спец в програмиировании, потому то и такое оформление!!! Include - подклбчил все, просто не знал какие нужно! По идее этот код ещё не дописан полностью, но действительно нужно будет сделать ещё переход на метку чтоб програма выполняла действия повторно!!!

Последний раз редактировалось sergejwinlamer; 29.03.2010 в 00:02.
sergejwinlamer вне форума Ответить с цитированием
Старый 29.03.2010, 00:04   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

В таком случае советую:
1. Код на форуме все-таки оформлять в соответствующий тег (значок # над окошком ввода сообщения)
2. Оформление в стиле
Код:
void f()
  {
  for (int i = 0; i < 3; i++)
    {
    if (i < 2)
      g(i);
    else
      h(i);
    }
  }
честное слово гораздо повышает читабельность и страхует от многих ошибок по невнимательности!
3. Кстати, пишите еще так:
Код:
#include "stdafx.h"
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <io.h>
4. Вместо меток используйте цикл while:
Код:
while(true)
{
char c = getch();
f();
if (c == 27) //Нажата клавиша Esc
 break; //Выход из цикла
//А если не нажата, то будет выполняться снова и снова
}
Зачем вам goto?
5. Так а собственно, в чем у вас проблема? Не компилируется? Вываливается с ошибкой? Выдает неправильные результаты?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 29.03.2010, 00:17   #6
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
Восклицание

Я обычный студент! Хочю чтоб вы помогли с програмой!!!
Програма компилируется, но при роботе выдаёт ошибки!!!!

Последний раз редактировалось sergejwinlamer; 29.03.2010 в 00:52.
sergejwinlamer вне форума Ответить с цитированием
Старый 29.03.2010, 00:18   #7
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
По умолчанию

// 1.cpp : Defines the entry point for the console application.
//
// 2.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include "iostream.h"
#include "conio.h"
#include "fstream.h"
#include "io.h"
#include <string.h>
#include <stdlib.h>
#include <windows.h>
int compare(const void*arg1,const void*arg2)
{
return strcmp((char*)arg1,(char*)arg2);
}

struct student
{char prizv[50];
char nomergr[4];
int uspischmist[5];
};
void main(int argc, char* argv[])
{int z;
student a[5]={ {"kurotschka",2,2,3,4,5,6},
{"ksdgfdka",2,6,3,4,5,6},
{"kurosfsdfga",6,5,3,4,5,6},
{"kfdgsdfgschka",5,2,3,4,5,6},
{"sdfgdfchka",4,2,3,4,5,6}
};
{ menu:cout<<"dlja vvodu danich pro stidentiv natisni 1\n";
cout<<"dlja ogolosit s inizializazijeju 2\n";
cout<<"dlja wivedenna danich pro studentiw jaki majut 2 natisni 3\n";
cin>>z;
switch(z) {
case 1:{for (int i=0; i<5; i++)
{cout<<"Vvedit prizvische,imja, po batkovi\n";
cin>>a[i].prizv;
cout<<"Vvedit nomer grupi\n";
cin>>a[i].nomergr;
for(int c=0; c<5; c++)
{cout<<"Vvedite ocinku\n";
cin>>a[i].uspischmist[c];
}
}
};
case 2: {for (int i=0; i<5; i++)
{qsort(a,3,sizeof(student),compare) ;
}
};
case 3: {for (int i=0; i<5; i++)
{for (int c=0; c<5; i++)
{if(a[i].uspischmist[c]==2)
{cout<<a[i].prizv;
cout<<a[i].nomergr;
cout<<a[i].uspischmist;
}
}
}
}



}}}
sergejwinlamer вне форума Ответить с цитированием
Старый 29.03.2010, 00:26   #8
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
Восклицание

Вот прога в лутшем виде!!! Посмотри!!!
Вложения
Тип файла: txt с-+-+-.txt (2.2 Кб, 122 просмотров)
sergejwinlamer вне форума Ответить с цитированием
Старый 29.03.2010, 00:42   #9
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
По умолчанию

Зарание всем большое спасибо!!!
sergejwinlamer вне форума Ответить с цитированием
Старый 29.03.2010, 00:48   #10
sergejwinlamer
Новичок
Джуниор
 
Регистрация: 28.03.2010
Сообщений: 7
По умолчанию

??????????????????????????????????? ??????????????????????????????????? ?????

Последний раз редактировалось sergejwinlamer; 29.03.2010 в 00:55.
sergejwinlamer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно исправить интересный недочет hex666 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 14.03.2010 20:45
C++. Есть код нужно исправить ошибки megavolt91 Общие вопросы C/C++ 6 06.06.2009 19:27
C++. Есть код нужно исправить ошибки megavolt91 Помощь студентам 1 01.06.2009 18:38
нужно исправить ошибку TheVenny Помощь студентам 17 06.11.2008 16:26