|
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 2
|
|
неверний вивод структури с полем типу int в файл17.11.2016, 15:28. Показов 665. Ответов 0
Метки нет (Все метки)
неверно записивает в файл номер телефона,что делать? как решить?
#include<locale.h> #include<stdio.h> #include<conio.h> #include<fstream> #include <memory.h> #include<iostream> #include<string.h> #include<windows.h> #define r 13 #define STUD struct abonent #define SSTUD sizeof(struct abonent) using namespace std; struct abonent { int nomer; char lastname[15]; char firstname[15]; char pobatkovi[15]; int date[3]; }; abonent rt[r]; //Function; void print(int i); void fprint(int i,FILE *fo); void fscan(int i,FILE *fo); void print1(int i); void SetColor(int text, int background) { HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); } int main(void){ SetConsoleCP(1251); SetConsoleOutputCP(1251); SetColor(10,16); FILE *fo,*fm; int i,j,start=0,end=0,basic=0,count=0,tmp,st art1=0,end1=0,basic1=0,k=0; char str[15]; char str1[20]; setlocale(0,""); char eoj; for(eoj=0;!eoj ![]() { printf("1 – Створити БД 'New Base' і додати записи\n"); printf("2 – Відкрити існуючу БД\n"); printf("3 – Добавити записи(початок, кінець) \n"); printf("4 – Показати все\n"); printf("5 – Видалення\n"); printf("6 – Сортування номерiв за зростанням\n"); printf("7– Список номерiв абонентiв зареєстрованих цього року\n"); printf("8– Список прiзвищ абонентiв якi задано з клавiатури\n або починаються на вiдповiдну букву\n"); printf("9– Список номерiв, вiк яких старше 1992року\n"); printf("0 – Вихiд\n"); int choose; printf("Введiть > "); scanf("%d",&choose); switch(choose) { case 1:system("cls"); printf("Скiльки записiв ви бажаєте добавити?->"); scanf("%d",&basic); for(i=0;i<basic;i++) { print(i);system("cls"); } fo=fopen("Base.txt","w"); for(i=0;i<basic;i++){ fprint(i,fo); } fclose(fo); count=basic+start+end; break; case 2:system("cls"); SetColor(7,16); number1 rintf("Скільки записів ви хочете використати?->");scanf("%d",&basic); fo=fopen("Base.txt","r"); for(i=0;i<basic;i++) { fscan(i,fo); } fclose(fo); fo=fopen("Finish.txt","w"); for(i=0;i<basic;i++) {fprint(i,fo);} fclose(fo); if(basic>27){printf("\nПомилка! У базі даних тільки 27 записів.\n"); goto number1;} else {printf("\nЗчитано %d записів\n",basic); count=basic+start+end;} system("pause"); system("cls"); SetColor(10,16); break; case 3:system("cls"); SetColor(5,16); for(; ![]() { printf("\n1.Початок \n2.Кiнець\n0.Exit\n"); int c; scanf("%d",&c); switch (c) { case 1: printf("Скiльки записiв ви бажаєте добавити?->"); scanf("%d",&start1); fo=fopen("Add.txt","w"); for(i=0;i<start1;i++){ print(i); fprint(i,fo);} fclose(fo); fo=fopen("Finish.txt","r"); for(i=0;i<basic+start+end;i++) { fscan(i,fo); } fclose(fo); fo=fopen("Add.txt","a"); for(i=0;i<basic+start+end;i++){ fprint(i,fo); } fclose(fo); start=start+start1; count=basic+start+end; remove("Finish.txt"); rename("Add.txt","Finish.txt"); system("cls"); break; case 2: printf("Скiльки записiв ви бажаєте добавити?->"); scanf("%d",&end1); end=end+end1; for(int i=0;i<end1;i++) { print(i); } fo=fopen("Finish.txt","a"); for(i=0;i<end1;i++){ fprint(i,fo); } fclose(fo); count=basic+start+end; break; default rintf("!ooooooooog!");break; } if(c==0) break; }system("cls"); SetColor(10,16); break; case 4: fo=fopen("Finish.txt","r"); SetColor(7,15); for(i=0;i<count;i++) { fscan(i,fo); } fclose(fo); for(i=0;i<count;i++) { print1(i); } fo=fopen("Rezultat.txt","a"); fprintf(fo,"\nВсі записи\n"); for(i=0;i<count;i++) { fprint(i,fo); } fclose(fo); system("pause"); system("cls"); SetColor(10,16); break; case 5:system("cls"); SetColor(3,16); printf("Введiть прiзвище потрiбної людини: "); scanf("%s",&str); k=0; fo=fopen("Finish.txt","r"); for(i=0;i<count;i++) { fscan(i,fo); } fclose(fo); fo=fopen("Delete.txt","w"); for(i=0;i<count;i++){ if(_stricmp(str,rt[i].lastname)>0||_stricmp(str,rt[i].lastname)<0){ print1(i); fprint(i,fo); k++; } } fclose(fo); if(count==k){printf("Запис не знайдено!!!");} else{printf("Deleted!!!"); count=count-1;} remove("Finish.txt"); rename("Delete.txt","Finish.txt"); SetColor(10,16); break; case 6:system("cls"); SetColor(5,16); fo=fopen("Finish.txt","r"); for(i=0;i<count;i++) { fscanf(fo,"%d ",&rt[i].nomer); fscanf(fo,"%s ",rt[i].lastname); fscanf(fo,"%s ",rt[i].firstname); fscanf(fo,"%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ fscanf(fo,"%d ",&(rt[i].date[j])); } } for(tmp=0;tmp<count-1;tmp++) for(i=0;i<count-1-tmp;i++) { if(rt[i].nomer>rt[i+1].nomer) { rt[count]=rt[i]; rt[i]=rt[i+1]; rt[i+1]=rt[count]; } } for(i=0;i<count;i++) { printf("%d ",rt[i].nomer); printf("%s ",rt[i].lastname); printf("%s ",rt[i].firstname); printf("%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ printf("%d ",rt[i].date[j]); } printf("\n"); } fclose(fo); system("pause"); system("cls"); SetColor(10,16); break; case 7:system("cls"); fo=fopen("Finish.txt","r"); for(i=0;i<count;i++) { fscanf(fo,"%d ",&rt[i].nomer); fscanf(fo,"%s ",rt[i].lastname); fscanf(fo,"%s ",rt[i].firstname); fscanf(fo,"%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ fscanf(fo,"%d ",&(rt[i].date[j])); } } for(i=0;i<count;i++) if((rt[i].date[2]==2016)){ printf("%d ",rt[i].nomer); printf("%s ",rt[i].lastname); printf("%s ",rt[i].firstname); printf("%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ printf("%d ",rt[i].date[j]); } } fclose(fo); SetColor(10,16); system("pause"); system("cls"); break; case 8:system("cls"); SetColor(3,16); printf("Введіть потрібне прізвище або iм'я: "); scanf("%s",&str1); fo=fopen("Finish.txt","r"); for(i=0;i<count;i++) { fscanf(fo,"%d ",&rt[i].nomer); fscanf(fo,"%s ",rt[i].lastname); fscanf(fo,"%s ",rt[i].firstname); fscanf(fo,"%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ fscanf(fo,"%d ",&(rt[i].date[j])); } if((_stricmp(str1,rt[i].firstname)==0)){ printf("%d ",rt[i].nomer); printf("%s ",rt[i].lastname); printf("%s ",rt[i].firstname); printf("%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ printf("%d ",rt[i].date[j]); }printf("\n"); } } fclose(fo); system("pause"); system("cls"); SetColor(10,16); break; case 9:system("cls"); SetColor(11,16); fo=fopen("Finish.txt","r"); for(i=0;i<count;i++) { fscanf(fo,"%d ",&rt[i].nomer); fscanf(fo,"%s ",rt[i].lastname); fscanf(fo,"%s ",rt[i].firstname); fscanf(fo,"%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ fscanf(fo,"%d ",&(rt[i].date[j])); } if(rt[i].date[2]<1992){ printf("%d ",rt[i].nomer); printf("%s ",rt[i].lastname); printf("%s ",rt[i].firstname); printf("%s ",rt[i].pobatkovi); for(j=0;j<3;j++){ printf("%d ",rt[i].date[j]); } printf("\n"); } } fclose(fo); system("pause"); system("cls"); SetColor(10,16); break; default: printf("\nПомилка!! Зробіть правильний вибір(1-9)\n"); break; } if (choose) { getch();} if(choose==0)break; } return 0; } void print(int i) { printf("Номер телефону: "); scanf("%d",&rt[i].nomer); printf("Прiзвище: "); scanf("%s",rt[i].lastname); printf("Iм`я: ");scanf("%s",rt[i].firstname); printf("По-батьковi: ");scanf("%s",rt[i].pobatkovi); door rintf("Введiть дату народження(ДД ММ РРРР): ");for(int j=0;j<3;j++){ scanf("%d",&(rt[i].date[j]));} if((rt[i].date[0]>31)||(rt[i].date[0]<1)||(rt[i].date[1]>12)||(rt[i].date[1]<1)||(rt[i].date[2]>2016)||(rt[i].date[2]<1945)){ printf("Некоректно введена дата!!!\n"); goto door;} } void fprint(int i,FILE *fo) { fprintf(fo,"%d ",rt[i].nomer); fprintf(fo,"%s ",rt[i].lastname); fprintf(fo,"%s ",rt[i].firstname); fprintf(fo,"%s ",rt[i].pobatkovi); for(int j=0;j<3;j++){ fprintf(fo,"%d ",rt[i].date[j]);} } void fscan(int i,FILE *fo) { fscanf(fo,"%d ",&rt[i].nomer); fscanf(fo,"%s ",rt[i].lastname); fscanf(fo,"%s ",rt[i].firstname); fscanf(fo,"%s ",rt[i].pobatkovi); for(int j=0;j<3;j++){ fscanf(fo,"%d ",&(rt[i].date[j]));} } void print1(int i) { printf("|%13d |",rt[i].nomer); printf("|%10s |",rt[i].lastname); printf("%10s |",rt[i].firstname); printf("%10s |",rt[i].pobatkovi); for(int j=0;j<3;j++){ printf("%1d ",rt[i].date[j]);} printf("\n"); }
0
|
|
| 17.11.2016, 15:28 | |
|
Ответы с готовыми решениями:
0
Проверка соответствия типу int
|
| 17.11.2016, 15:28 | |
|
Помогаю со студенческими работами здесь
1
Преобразовать тип char к типу int Как адрес IP перевели к типу int 32 Ошибки присваивания типа структуры типу int
Анализ вводимых данных на соответствие типу int Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|