Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 06.06.2011, 03:08   #1 (permalink)
о_О_Кто_Здесь
Новичок
 
Регистрация: 06.06.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Программа для курсача

Вообщем курсач на тему "сбербанка" Есть как бе часть программы 2\3 сделанная, я вроде бы переделал как мог доделал ее! но не все работает и выдает некоторые ошибки..
Вообщем задание выглядит так:
Сбербанк.
Сведенье о вкладчиках банка:
Номер лицевого счета
Категория вклада
Паспортные данные
Текущая сумма вклада
Дата Последней операции
Операция приема и выдачи любой суммы
Автоматическое начисление процентов
последнии три я не знай как сделать и убрал их, вообщем вроде как сказали можно убрать))
Делаю курсач на вижул студио 2008-2010, с++ понимаю его довольно слабо..
В программе точно не работает сортировка, остальное кажется криво.
Если кто-то может, потратить чуток времени и подсказать что да ка) что изменить или подправить..и как с сортировкой быть. Буду весьма благодарен.
вОт вообщем сама программы:

#include <iostream>
#include <fstream>
#include <conio.h>
#include <string.h>
#include <windows.h>

using namespace std;

struct date
{
int day;
int month;
int year;
};
struct sberbank
{

char Nomer_litsivogo_scheta [30];
char Kategoria_vklada [30];
char Pasportnie_dannie [30];
double Tekyschaia_summa_vklada;
date d;
};
struct Node
{
sberbank*inf;
Node*next;
};

Node * Head = NULL;
void Inputsberbank(sberbank& s)
{
cout<<"Введите номер лицевого счета"<<endl;
cin>>s.Nomer_litsivogo_scheta;
cin>>s.d.day;
cin>>s.d.month;
cin>>s.d.year;
}
void DelList()
{

}

void Print()
{

if (Head==NULL)
cout<<"СПИСОК ПУСТОЙ!!!"<<endl;
else
for (Node *p=Head;p;p=p->next)
cout<<p->inf->Nomer_litsivogo_scheta<<'\t'<<p->inf->d.day<<'.'<<p->inf->d.month<<'.'<<p->inf->d.year<<'\t'<<p->inf->Nomer_litsivogo_scheta<<'\t'<<p->inf->Pasportnie_dannie<<endl;

}
void InsToBeg()
{
sberbank* s=new sberbank;
Node *p=new Node;
p->inf=s;
if (Head)
{
p->next=Head;
Head=p;
}
else
{
p->next=NULL;
Head=p;
}
}

void InsAfter()
{
sberbank* s=new sberbank;
Node *p=new Node;
p->inf=s;
cout<<"Введите номер лицевого счета, после которого надо сделать вставку :"<<endl;
char Nomer_litsivogo_scheta [30];
cin>>Nomer_litsivogo_scheta;
Node *q;
for (q=Head;strcmp(q->inf->Nomer_litsivogo_scheta,Nomer_litsivogo_scheta)& &q->next;q=q->next);
if (strcmp(q->inf->Nomer_litsivogo_scheta,Nomer_litsivogo_scheta)==0 )
{
p->next=q->next;
q->next=p;
}
}

void InsToEnd()
{
sberbank* s=new sberbank;
Node *p=new Node;
p->inf=s;
p->next=NULL;

if (Head)
{
Node *q;
for (q=Head;q->next;q=q->next);
q->next=p;
}
else
Head=p;
}
void ReadFile()
{
DelList();
ifstream fin("file.txt");
if(!fin.is_open())
{
cout<<"ошибка при открытии файла!"<<endl;
getchar(); //system ("pause");
return;
}
int n;
fin>>n;
for(int i=0;i<n;i++)
{
sberbank s;
fin>>s.Nomer_litsivogo_scheta;
fin>>s.Pasportnie_dannie;
fin>>s.Kategoria_vklada;
fin>>s.Tekyschaia_summa_vklada;
fin>>s.d.day;
fin>>s.d.month;
fin>>s.d.year;
InsToEnd();
}
fin.close();
}

void SortList()
{
if(Head==NULL || Head->next==NULL)
return;
Node *p1,*p2;
for(p1=Head,p2=Head->next;p2;p1=p2,p2=p2->next)
{
if (strcmp((const char *)p1->inf->Nomer_litsivogo_scheta,(const char *)p2->inf->Nomer_litsivogo_scheta)==1)
{
sberbank *x;
x=(sberbank *)p1->inf;
p1->inf=p2->inf;
p2->inf=x;
}
}
}

void WriteFile()
{
ofstream fout("file.txt");
if(!fout.is_open())
{
cout<<"неудалось открыть выходной файл"<<endl;
getchar(); //system("pause");
return;
}
int n=0;
for (Node *p=Head;p;p=p->next)
n++;
fout<<n<<endl;

for (Node *p=Head;p;p=p->next)
{
fout<<p->inf->Nomer_litsivogo_scheta<<endl;
fout<<p->inf->Pasportnie_dannie<<endl;
fout<<p->inf->Kategoria_vklada;
fout<<p->inf->Tekyschaia_summa_vklada;
fout<<p->inf->d.day<<endl;
fout<<p->inf->d.month<<endl;
fout<<p->inf->d.year<<endl;
}
fout.close();
}

void ChangData(sberbank& s,char *Nomer_litsivogo_schet)
{

}

void DelBeg()
{
if (Head==NULL)
return;
Node *p=Head;
Head=Head->next;
delete p;
}

void DelEnd()
{
if (Head==NULL)
return;
if (Head->next==NULL)
{
delete Head;
Head=NULL;
return;
}
Node *p;
for (p=Head;p->next->next;p=p->next);
delete p->next;
p->next=NULL;
}

void DelData()
{
if (Head==NULL)
return;
char Nomer_litsivogo_scheta[50];
cout<<"Введите удаляемый лицевой счет..."<<endl;
cin>>Nomer_litsivogo_scheta;
if (Head->next==NULL && strcmp(Head->inf->Nomer_litsivogo_scheta,Nomer_litsivogo_scheta)==0 )
{
delete Head;
Head=NULL;
return;
}
if (strcmp(Head->inf->Nomer_litsivogo_scheta,Nomer_litsivogo_scheta)==0 )
{
Node *p=Head;
Head=Head->next;
delete p;
return;
}
Node *q,*p;
for (q=Head,p=q->next;strcmp(Head->inf->Nomer_litsivogo_scheta,Nomer_litsivogo_scheta) && p->next;q=p,p=p->next);
if (strcmp(p->inf->Nomer_litsivogo_scheta,Nomer_litsivogo_scheta)==0 )
{
q->next=p->next;
delete p;
}
}

int main()
{
setlocale (LC_ALL,"Russian");
char ch;
sberbank s;
char Kategoria_vklada [30];
for( ;
{
//system("cls");
cout<<"\t главное меню"<<endl;
cout<<"\t 1.печать списка"<<endl;
cout<<"\t 2.очистка списка"<<endl;
cout<<"\t 3.вставить в начало"<<endl;
cout<<"\t 4.вставить в конец"<<endl;
cout<<"\t 5.вставить после"<<endl;
cout<<"\t 6.заменить"<<endl;
cout<<"\t 7.удалить первый"<<endl;
cout<<"\t 8.удалить последний"<<endl;
cout<<"\t 9.удалить заданное"<<endl;
cout<<"\t a.загрузить из файла"<<endl;
cout<<"\t b.сортировка списка"<<endl;
cout<<"\t c.записать в файле"<<endl;
cout<<"\t 0.выход"<<endl;
cout<<"\t выберите режим"<<endl;
ch=_getch ();
switch (ch)
{
case '1':
Print();
getchar(); //system("pause");
break;
case '2':
DelList();
getchar(); //system("pause");
break;
case '3':
InsToBeg();
getchar(); //system("pause");
break;
case '4':
InsToEnd();
getchar(); //system("pause");
break;
case '5':
InsAfter();
getchar(); //system("pause");
break;
case '6':
getchar(); //system("pause");
break;
case '7':
DelBeg();
getchar(); //system("pause");
break;
case '8':
DelEnd();
getchar(); //system("pause");
break;
case '9':
DelData();
getchar(); //system("pause");
break;
case '0':
getchar(); //system("pause");
return 0;
break;
case 'a':
ReadFile ();
getchar(); //system ("pause");
break;
case 'b':
SortList ();
getchar(); //system ("pause");
break;
case 'c':
WriteFile ();
getchar(); //system ("pause");
break;
}
}
return 0;
}
о_О_Кто_Здесь вне форума   Ответить с цитированием

Старый 06.06.2011, 03:08
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В этих обсуждениях скорее всего есть нужная вам информация

Программа для ХР
Программа
Программа
Что за программа?

Старый 06.06.2011, 03:17   #2 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Потратить чуток времени могу, но не за "спасибо".
Long Cat вне форума   Ответить с цитированием
Старый 07.06.2011, 00:59   #3 (permalink)
о_О_Кто_Здесь
Новичок
 
Регистрация: 06.06.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Long Cat Посмотреть сообщение
Потратить чуток времени могу, но не за "спасибо".
ммм...и чего мне будет стоить твоя диагностика, дополнение и исправления до работоспособности моей программы и возможно еще каких нибудь других услуг...
о_О_Кто_Здесь вне форума   Ответить с цитированием
Старый 07.06.2011, 01:51   #4 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Обращайтесь в ICQ или ЛС
Long Cat вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:31.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.