Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
masha1207
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 108
#1

Добавить цикл с постусловием - C++

15.10.2010, 20:36. Просмотров 1384. Ответов 9
Метки нет (Все метки)

Задача:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
 
void main()
 {clrscr();
struct Abiturient
 {
  char code[30];
  char fam[15];
  char name[15];
  char group[5];
  char sex;}
  dannie;
 
  FILE *in; //tekstovii fail
 
  //poluchim dannie ot polzovatela
 printf("kod ");
 scanf("%s",dannie.code); //stroka simvolov
 printf("familia ");
 scanf("%s",dannie.fam);
 printf("imea ");
 scanf("%s",dannie.name);
 printf("gruppa ");
 scanf("%s",dannie.group);
 printf("pol ");
 scanf("%s",dannie.sex);
 in=fopen ("T:\\kroha\\dannie.txt","ab");//sozdaem fail v dvoic structure
 fwrite(&dannie,sizeof(dannie),1,in);
 fclose(in);
 
 
 
 //i zapisem ih v fail
 in=fopen ("T:\\kroha\\dannie.txt","rb");//otkr dlia ctenia v dv struc
 fprintf(in,"%s %s %s %s %s",dannie.code,dannie.fam,dannie.name,dannie.group,
 dannie.sex);
 puts("informacia dobavlena");
 fclose(in); //zakrit fail
 
 printf("\n\ndlia zaversenia raboti nazmite <Enter>\n");
 getch();
 }
дописать в задачу цикл с постусловием(while). каждый раз после ввода данных предлогать "продолжить да/нет".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 20:36     Добавить цикл с постусловием
Посмотрите здесь:

Цикл с постусловием - C++
Мне нужно доделать чуть программу.Нужно что бы она в конце работы спрашила про новый ввод данных.кто может помочь помогите вот она &lt;ссылка...

Не работает цикл с постусловием - C++
Доброго времени суток! Требовалось написать программу, которая бы рисовала 2 пирамиды. (скрин прикреплен) Возникли сложности с...

Цикл с предусловием и постусловием - C++
Дано вещественное число a. Из чисел 1, 1+1/2, 1+ 1/2 + 1/3, … вывести те, которые меньше a.

Цикл с пред и постусловием - C++
Вот, написал (с++), но почему то &quot;P&quot; не сходятся с тем, что в ответе, думаю ошибся в формуле? #include&lt;stdio.h&gt; #include&lt;conio.h&gt; ...

Циклический алгоритм (цикл с постусловием) - C++
Здравствуйте! Помогите пожалуйста с задачей. TC++ Для введенных с клавиатуры чисел найти сумму отрицательных кратных 4. Пpи вводе...

Линейные, цикл с пред- и постусловием, и цыкл с ветвлением - C++
первая задачка (решение с помощью линейного программирования) вторая задачка (решение с помощью цикла с пред- и постусловием) третья...

Цикл с постусловием: поиск элемента с заданными свойствами - C++
Известны данные о мощности двигателя 30 моделей легковых автомобилей. Выяснить, есть ли среди них модель, мощность двигателя которой...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
15.10.2010, 20:38     Добавить цикл с постусловием #2
masha1207, while - цикл с предусловием. С постусловием - do while
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
15.10.2010, 21:44     Добавить цикл с постусловием #3
Цитата Сообщение от masha1207 Посмотреть сообщение
FILE *in; //tekstovii fail
Даа, действительно фейл )
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
15.10.2010, 22:15     Добавить цикл с постусловием #4
Вот тебе постусловие..... continue? нажимаешь 'y'(yes) цикл повторяется
Вместо clrscr у меня system("cls")
Я заменил char sex; на char sex[1]; а то ошибка вылетала

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
struct Abiturient
{
char code[30];
char fam[15];
char name[15];
char group[5];
char sex[1];}
dannie;
 
void main()
{
    char ch;
do
{
    system("cls");
    printf("code "); scanf("%s",dannie.code);
        printf("familia "); scanf("%s",dannie.fam);
printf("name ");  scanf("%s",dannie.name);
printf("group ");  scanf("%s", dannie.group);
printf("pol ");  scanf("%s",dannie.sex);
printf("continue? (y/n)");
 ch = _getch();
} while( ch == 'y');
 
_getch();
}
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
15.10.2010, 22:21     Добавить цикл с постусловием #5
NikolaWhite,
C++
1
 char sex[1]
Лично у меня вызывает подозрение... Значит всего у нас можно записать туда 1 символ. При этом 1 символ должен быть код конец строки. Здравствуй переполнение буфера?
По-моему проще ее оставить char и в вводе поставить %c. Но насчет переполнения могу быть не прав. Сейчас протестирую.

Добавлено через 2 минуты
C++
1
char str[1]="M";
Опа. Компилятор сам аж написал.
Error 1 error C2117: 'str' : array bounds overflow
Да. Это ошибка. Либо char, либо char sex[2] надо
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
15.10.2010, 22:48     Добавить цикл с постусловием #6
Цитата Сообщение от Lavroff Посмотреть сообщение
Опа. Компилятор сам аж написал.
Error 1 error C2117: 'str' : array bounds overflow
Написал он это из-за того, что длина строки "M" равна двум.

Что бы нормально считывать, нужно писать
scanf("%с",&dannie.sex);
где
sex - переменная типа char, т.е.
char sex; // без каких-либо массивов.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
15.10.2010, 22:51     Добавить цикл с постусловием #7
Andrew_Lvov, Ну это я понял. Я проверял просто реально ли переполнение буфера. Оказалось не просто реально а 100%, если хоть что-то ввести в sex
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
16.10.2010, 04:08     Добавить цикл с постусловием #8
C
1
    char str[0]='M';
?
Это работает?
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
16.10.2010, 13:28     Добавить цикл с постусловием #9
#pragma, смотря как оглашён str.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2010, 21:09     Добавить цикл с постусловием
Еще ссылки по теме:

Цикл с постусловием: Вычислить сумму ряда с точностью Е, член которого Аn= 2(n!)/3(n!)^2 - C++
Здравствуйте! Помогите пожалуйста написать программу цикла с постусловием на языке С++. Буду очень благодарна. Вычислить сумму ряда с...

Цикл: Вычисление значения с использованием операторов цикла с параметром, с предусловием, с постусловием - C++
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов цикла с параметром, цикла с предусловием,...

Используя цикл с постусловием, составить программу табулирования функции F(x)=sin(x)-cos(x) на отрезке [a, b] с шагом h - C++
Помогите написать пожалуйста программу: Вот что получилось у меня, но это не правильно... #include &lt;cstdlib&gt; #include...

Необходимо добавить цикл поиска главного элемента по столбцу. никак не получается - C++
Нужно,чтобы был выбор программа искала максимальный элемент по столбцу и ставила его на 1 место....никак не могу добавить ........... ...

Добавить в конец программы строчку cout << "Your number is", не задев цикл - C++
Здравстуйте! Подскажите, пожалуйста, как добавить в конец программы cout &lt;&lt; &quot;Your number is&quot; не задев цикл. #include &lt;iostream&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
16.10.2010, 21:09     Добавить цикл с постусловием #10
То есть
C
1
char str[1]={'M'};
я к тому что это вроде неправильно:
C
1
char str[1]="M";
тут же str это массив символов,а "M" это const char* (если не ошибаюсь)
Yandex
Объявления
16.10.2010, 21:09     Добавить цикл с постусловием
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru