Reply to this topicStart new topic
> Курсова по програмиране на С++
hukepa
публикация 5.05.2008г. в 21:59ч.
Коментар: #1


Новак
*

Група: Потребители
Съобщения: 2
Дата на регистрация: 5.05.2008г.
Потребител # 5 348





Съставете програма с функции за:
а) Въвеждане от клавиатура във файл и масив (чрез допълване) данни за N (N<= 30) телефонни абоната: име, фамилия, адрес и телефонен номер, месечна сума за плащане. Извеждане текущото съдържание на масива (файла) на екран.
б) Извеждане на справка за абонат по зададени от клавиатурата фамилия и телефонен номер (със запитване за нова справка).
в) Извеждане на екран данните за всички абонати, които живеят на зададена улица (в зададен квартал).
г) Извеждане текущото съдържание на масива, сортиран в нов масив по сумата за плащане.
Главна функция main() - с меню за избор на функции и проверка за състоянието на данните. Използване на глобални променливи или функции с предаване на параметри - по избор.

е някой надъхан, PLS... ?
Go to the top of the page
 
+Quote Post
hukepa
публикация 9.05.2008г. в 23:49ч.
Коментар: #2


Новак
*

Група: Потребители
Съобщения: 2
Дата на регистрация: 5.05.2008г.
Потребител # 5 348




поне ще ми напишете ли това дето липсва...?

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>

#define MAX 100

int menu(void);
void enter(void);
void display(int i);
void search_abonat(void);
void search_abonat_ulica(void);
void spisyk_abonati(void);
void load(void);
void save(void);
void sort_sum(void);

int brst;

struct catalog {
char ime[20];
char familiq[20];
char adres[70];
char telefon[50];
int suma;
} abonat[MAX];

int top = 0;
int br = 0;
int main(void)

{
struct catalog st[MAX];
int izbor;

load();
do {
clrscr();
izbor = menu();
switch(izbor) {
case 1: enter();
break;
case 2: search_abonat();
break;
case 3: search_abonat_ulica();
break;
case 4: spisyk_abonati();
break;
case 5: save();
break;
case 6: sort_sum();
break;
default: {
printf("\n \t \t ________________________ ");
delay(2000);
}
}
} while(izbor!=7);
return 0;
}

menu(void)
{
int iz;
printf("\n 1 _______________________");
printf("\n 2 _______________________");
printf("\n 3 _______________________");
printf("\n 4 _______________________");
printf("\n 5 _______________________");
printf("\n 6 _______________________");
printf("\n ");

do {
printf("\n ______________________ \n ");
scanf("%d", &iz);
printf("\n ________________________");
delay(2000);
} while(iz<1 || iz>7);
return iz;
}

void enter(void)
{
int i;
int max;


clrscr();
fflush(stdin);
for(i=top, printf("\n ",i+1); i< max; i++);{
printf(" ");
gets(abonat[i].ime);
//if(!*abonat[i].ime)
// break;
printf("\n______________________");
gets(abonat[i].familiq);
printf("\n______________________");
gets(abonat[i].adres);
printf("\n______________________");
gets(abonat[i].telefon);
printf("\n______________________");
scanf("%d",&abonat[i].suma);
}
top = i;
}

void display(int i)
{
printf("\n %d ",i+1,abonat[i].ime);
printf("\n %s ",abonat[i].familiq);
printf("\n %s ",abonat[i].adres);
printf("\n %s ",abonat[i].telefon);
printf("\n %d ",abonat[i].suma);
return;

}

void search_abonat(void)
{
char t_familiq[50];
char t_telefon[50];
int i, found;

clrscr();
fflush(stdin);
printf("\n_____________________");
printf("\n_____________________");
gets(t_familiq);
printf("\n_____________________");
gets(t_telefon);
found = 0;
for(i=0; i<top; i++){

if(!strcmp(t_familiq, abonat[i].familiq))
if(!strcmp(t_telefon, abonat[i].telefon))
{
display(i);
found = 1;
printf("\n");
}
}
if(!found){
printf("\n_________________________");
}
}
if(!found){
printf("\n_________________________");
delay(3000);
}
}


void search_abonat_ulica(void)
{
char t_ulica[50];

int i, found;

clrscr();
fflush(stdin);
printf("\n_____________________");
printf("\n_____________________");
gets(t_ulica);
found = 0;
for(i=0; i<top; i++){

if(!strcmp(t_ulica, abonat[i].adres)) {
display(i);
found = 1;
printf("\n);
}
}
if(!found){
printf("\n________");
delay(3000);
}
}



void spisyk_abonati(void)
{
int i;
clrscr();
gotoxy(20,2);
printf("\n _______________");
for(i=0; i<top; i++)
display(i);
return;
}

void load(void)
{
FILE *fp;
int i;

clrscr();
gotoxy(20,5);
if((fp = fopen("abonati.dat", "rb"))==NULL) {
printf(" " \n");
delay(3000);
exit(1);
}
for(i=0; i<=top; i++)
if(fread(&abonat[i],sizeof(struct catalog), 1, fp) !=1) {
delay(3000);
exit(1);
}
fclose(fp);
return;
}



void save(void)
abonati*/
{
FILE *fp;
int i;

clrscr();
gotoxy(20,5);
printf("________________________________");
delay(3000);
if((fp = fopen("abonati.dat", "wb"))==NULL) {
printf("____________________________");
delay(3000);
exit(1);
}
if(write(&top,sizeof top, 1, fp) 1=1) {
printf("___________________________");
delay(3000);
exit(1);
}
for(i=0; i<=top; i++)
if(fwrite(&abonat[i],sizeof(struct catalog), 1, fp) !=1) {
printf("__________________________");
delay(3000);
exit(1);
}
fclose(fp);
return;
}



void sort_sum(void)
{


struct catalog sort[MAX];
struct catalog bufer;
int i;
clrscr();
for(i=0;i<top1; i++)
for(int j=i+1;j<top;j++)
if(abonat[i].sum<abonat[j].suma)
{
bufer=abonat[i];
abonat[i]=abonat[j];
abonat[j]=bufer;
}

printf("\n________________\n");
for(i=0; i<top; i++)
display(i);

return;
}

pls напишете изпуснатото в сорса

Това съобщение е било редактирано от hukepa на 9.05.2008г. в 23:48ч.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

 

RSS Олекотена Версия Сега е: 03:20 - 9.06.2026г.

Калдейта Ком ЕООД - © 2003-. Всички права запазени.