Гость1323
|
|
1 | |
Помогите доделать прогу телефонного справочника13.12.2008, 19:48. Показов 1764. Ответов 1
Метки нет (Все метки)
Вот написал с трудом прогу телефонного справочника. Но там нет редактирования записей и поиска по базе. Подскажите пожалуйста как лучше сделать и оформить. Вот коб проги:
Код
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <ctype.h> struct { char name[25]; char otchestvo[25]; char lastname[25]; char city[25]; char street[25]; int home; int flat; int fone; }base[100]; int read_txt(char *); void vvod_inf(char *); void print_fone(int); void poisk_name(int); void menu(); main() { menu(); return 0; } int read_txt(char * name_file) { FILE * stream; if((stream=fopen(name_file,"r+t"))==NULL) { printf("\n nevozmozhno otkrit' file %s",name_file); getch(); exit(0); } char c=0; int stroka=0,stolbec=0; c=fgetc(stream); while((c!='\n')&&(!feof(stream))) { char str[25]; int i=0; while((c!=' ')&&(c!='\n')) { str[i]=c; c=fgetc(stream); i++; } str[i]='\0'; switch(stolbec) { case 0: strcpy(base[stroka].name,str);break; case 1: strcpy(base[stroka].otchestvo,str); break; case 2: strcpy(base[stroka]. lastname,str); break; case 3: strcpy(base[stroka]. city,str); break; case 4: strcpy(base[stroka]. street,str); break; case 5: base[stroka].home = atoi(str);break; case 6: base[stroka].flat = atoi(str);break; case 7: base[stroka].fone = atoi(str);break; default : break; } if(c!='\n')stolbec++; else {stolbec=0;stroka++;} if(!feof(stream))c=fgetc(stream); else break; } fclose(stream); return stroka; } void menu() { char regim=0; while(regim!='4') { printf("\n Choose comand :\n (1) - Enter Subscriber list, (2) - Sorted subscriber list ,\n (3) - search about last name , (4) - Exit \n "); regim=getch(); switch(regim) { case '1':vvod_inf("text.txt");break; case '2':print_fone(read_txt("text.txt"));break; case '3':poisk_name(read_txt("text.txt")); break; case '4':exit(0); default: break; } } } int sort_function( const void *a, const void *b) { return( strcmp((char *)a,(char *)b) ); } void print_fone(int kol_strok) { char tmp[100][25]; for(int i = 0;i<kol_strok;i++)strcpy(tmp[i],base[i].name); qsort((void *)tmp, kol_strok,25,sort_function); for(int j = 0; j < kol_strok; j++) { for(int k = 0; k < kol_strok; k++) { if(strcmp(tmp[j],base[k].name)==0) { printf("\n %s %s %s %s %s %d %d %d\n\n", base[k].name, base[k].otchestvo, base[k].lastname, base[k].city, base[k].street, base[k].home, base[k].flat, base[k].fone); break; } } } getch(); } void poisk_name(int kol_strok) { char str[25]; char str1[25]; printf("\n Enter last name "); scanf("%s",str); for(int j=0;j<kol_strok;j++) { if(strcmp(str,base[j].lastname)==0) { printf("\n %s %s %s %s %s %d %d %d \n\n", base[j].name, base[j].otchestvo, base[j]. lastname, base[j].city, base[j].street, base[j].home, base[j].flat, base[j].fone); break; } if(j==kol_strok-1)printf("\n %s don't fined \n",str); } getch(); } void vvod_inf(char * name_file) { FILE * stream; if((stream=fopen(name_file,"a+t"))==NULL) { printf("\n can't open %s",name_file); getch(); exit(0); } char tmp[25]; printf("\n Enter name :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter otchestvo :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter last name :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter city :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter street :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter home :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter flat :"); scanf("%s",tmp); fputs(tmp,stream); fputc(' ',stream); printf("\n Enter fone :"); scanf("%s",tmp); fputs(tmp,stream); fputc('\n',stream); fclose(stream); } |
13.12.2008, 19:48 | |
Ответы с готовыми решениями:
1
Ввести строку, вывести на экран слова в которых есть указанный символ ПОМОГИТЕ ПОЖАЛУЙСТА ДОДЕЛАТЬ ПРОГУ Создание телефонного справочника Обработка файла - телефонного справочника Разработать класс Person для создания телефонного справочника |
Жека___
|
|
19.12.2008, 11:49 | 2 |
Пробежался быстро покуду, подробней вникать нихочу тем более компилить.
Ну вопервых прога работает на с базой а с текстовым файлом то есть с массивим символом. Чтобы поиск был лучше сделать связаный список. Могу лишь предложить прочесть Кернигана, а потом опять попробывать написать эту же прогу |
19.12.2008, 11:49 | |
19.12.2008, 11:49 | |
Помогаю со студенческими работами здесь
2
Объектно-ориентированный аналог телефонного справочника: поиск по нескольким параметрам одновременно Помогите доделать прогу( Создание телефонного справочника Создание телефонного справочника Создание телефонного справочника БД для телефонного справочника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|