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

zadanie6 не хотит вводить строку через gets - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ а как думаете, можно ли стать ХОРОШИМ програмером абсолютно самостоятельно? http://www.cyberforum.ru/cpp-beginners/thread150229.html
я не к тому что хочу попробывать. всё равно пойду на кодера. ну а ваше мнение?
C++ Почему при изменении размера окна не меняется цвет заполнения? Почему при изменении размера окна не меняется цвет заполнения?:no: ... case WM_PAINT: ... ... static BYTE r,g,b; r=g=b=0; http://www.cyberforum.ru/cpp-beginners/thread150222.html
C++ Найти число медиан множества точек
Помогите сделать программу (или подсказать как ее делать). Не могу даже понять как к ней подойти. Медианой множества, состоящего из четного числа точек плоскости, никакие три из которых не лежат на одной прямой, называется прямая, соединяющая две точки множества, с обеих сторон от которой лежит равное число точек. Даны действительные числа x1, y1, x2, y2, …, xn, yn (n – нечетное число)....
Программа магический квадрат. В чем ошибка? C++
#include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_ALL,"Russian"); float *A, *B; int m, k, i, N, j, v, s, r; cout << "Введите величину m, задающую размерность матрицы (m*m) = "; cin >> m;
C++ Блок схема к программе на С++ http://www.cyberforum.ru/cpp-beginners/thread150202.html
Народ, помогите пожалуйста зделать блок схемы к программе #include <iostream.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> const PC=10,UC=100; int pc=-1,uc=-1; int fc0=0,fc1=0,fc2=0,fc3=0;
C++ Не могу исправить ошибку в программе на С++ Написал программу: #include <iostream> #include <conio.h> using namespace std; double sin (unsigned short n); int main() { double s, n, y, e, a; cout << " Федеральное агентство по образованию Российской федерации" << endl; подробнее

Показать сообщение отдельно
Kashtan$$$
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 49
28.06.2010, 23:18     zadanie6 не хотит вводить строку через gets
короче суть такова это все курсовая работа задание 6 выглядит следующим образом:
дано предложение и число к зашифровать предложение выполнив циклическую замену
каждой буквы на букву находящуюся в алфавите на к_той позиции после шифруемой буквы.знаки препинания и пробелы оставить без изменений.вот лично сам код
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
 
// Zadanie 1
int chislo(int d)
 
{ int f;
f=fmod(d,10)*100+floor(d/10);getch();
return f;
}
//Zadanie 2
void nadbavka()
{float nad,sr_zar;int stazh;
puts("Vvedite srednii zarabotok");scanf("%f",&sr_zar);
puts("Vvedite stazh raboti");scanf("%d",&stazh);
if(stazh<=15)nad=sr_zar*0.1;
if(stazh>15&& stazh<=25)nad=sr_zar*0.2;
if(stazh>25)nad=sr_zar*0.02*stazh;
printf("\n Vasha nadbavka k pensii ravna %7.2f",nad);
}
//zadanie 3
void znachenie()
{int i,N;float x,y;
m2:;printf("\n Vvedite N>0");scanf("%d",&N);
if(N<=0){printf("\n oshibka vvoda");goto m2;}
m3:;printf("\n vvedite x");scanf("%f",&x);
if(fabs(x)>=1){printf("\n oshibka vvoda");goto m3;}
for(i=1;i<=N;i+=2)
y+=pow((-1),i)*pow(x,i)/i;
printf("\n znachenie ravno %5.3f",y);
}
//zadanie 4
void maximum()
{int i,N[50],max=-1000,m,k=0;
printf("\n VVedite razmernost massiva");scanf("%d",&m);
for(i=0;i<m;i++)
{N[i]=random(7)-1;
 printf("%4d",N[i]);}getch();
for(i=0;i<m;i++)
if(!(N[i]<N[i+1]) && !(N[i]<N[i-1])&& !(N[i]>N[i+1]) && !(N[i]>N[i-1]))
if(N[i]>max){max=N[i];k++;}
 
if(k==0)printf(" Takih elementov ne naideno");else printf("\n Maximalnii %d",max);
 
}
//Zadanie 5
void matrix()
{int i,j,nommaxi,nommini,nommaxj,nomminj,k,TT[8][9],max,min;
printf("Matrica TT\n");
for(i=0;i<8;i++){
for(j=0;j<8;j++){
TT[i][j]=random(50)-18;
printf("%5d",TT[i][j]);}
printf("\n");}
getch();
min=1000;max=-1000;
for(i=0;i<8;i++)
for(j=0;j<8;j++)
if(i<j)
{if(TT[i][j]>max){
max=TT[i][j];nommaxi=i;nommaxj=j;}
if(TT[i][j]<min){min=TT[i][j];
nommini=i;nomminj=j;}
}
printf("max %d\t min %d ",max,min);
printf("nommin %d%d\t nommax %d%d",nommini,nomminj,nommaxi,nommaxj);
printf("\nMax i Min pomenyali mestami\n");
for(i=0;i<8;i++){
k=0;
for(j=0;j<8;j++){
TT[nommini][nomminj]=max;
TT[nommaxi][nommaxj]=min;
printf("%5d",TT[i][j]);if(TT[i][j]<0)k++;}
TT[i][8]=k;
printf("\n");
}
printf("\n S dopolnitelnim stolbcom\n");
for(i=0;i<8;i++){
for(j=0;j<9;j++)
printf("%5d",TT[i][j]);
printf("\n");}getch();
}
//zadanie 6
void stroka()
{
char c,s[70];
int i,j,k,dl1,dl2,t,k0,f;
 
 
puts("vvedite stroku\n");
gets(s);
puts("\n vvedite chislo ");scanf("%d",&k);
dl1=strlen(s);
char alf[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
dl2=strlen(alf);
for(i=0;i<dl1;i++){
k0=0;
for(j=0;j<dl2;j++)
if(s[i]==alf[j]){k0++;t=j+k;
              if(t>=52){f=t-52;s[i]=alf[f];}else s[i]=alf[j+k];
printf("%c",s[i]);break;}else
if(j==(dl2-1)&&k0==0)printf("%c",s[i]);
}getch();
}
 
 
 
 
 
main()
{int x;
char q[1];
clrscr();textbackground(10);textcolor(0);
 
while(atoi(q)!=8)
{
clrscr();
puts("\n\n\t\t\t\tMENU\n\n\n\t\t\t1.Zadanie 1");
puts("\n\t\t\t2.Zadanie 2\n\n\t\t\t3.Zadanie 3\n\n\t\t\t4.Zadanie 4");
puts("\n\t\t\t5.Zadanie 5\n\n\t\t\t6.Zadanie 6\n\n\t\t\t7.Zadanie 7\n\n\t\t\t8.VIHOD");
printf("Vvedite punkt menu i nagmite enter:");
scanf("%s",&q);
 
switch(atoi(q))
{
case 1:clrscr();m1:;printf("\n VVedite trehznachnoe chislo ");scanf("%d",&x);
if(x<100 || x>999){printf("\n Nepravilnii vvod");getch();goto m1;}
printf("\n Izmenennoe chislo  %d ",chislo(x));
 
 
getch();break;
case 2:clrscr();
nadbavka();
getch();break;
case 3:clrscr();
 znachenie();
getch();break;
case 4:clrscr();
maximum();
getch();break;
case 5:clrscr();
matrix();
getch();break;
case 6:clrscr();
stroka();
getch();break;
case 7:clrscr();
getch();break;
case 8:printf("\t\t DO SVIDANIYA !!! nagmite ENTER ");getch();
break;
default:clrscr();printf("\t\t\t OSHIBKA Nagmite enter\n");getch();
}
}}
так вот он не хочет вводить строку....пробовал через форматный ввод scanf() все прекрасно но есть одно но как только ставлю пробел все сбой....пробовал код испытывать отдельно от основной программы так тут тож беда если через форматный вввод а вот через gets все работает отлично
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
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
//zadanie 6
void stroka()
{
char s[70],c;
int i,j,k,dl1,dl2,t,k0,f;
 
 
puts("vvedite stroku\n");
gets(s);
printf("\n vvedite chislo ");scanf("%d",&k);
dl1=strlen(s);
char alf[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
dl2=strlen(alf);
for(i=0;i<dl1;i++){
k0=0;
for(j=0;j<dl2;j++)
if(s[i]==alf[j]){k0++;t=j+k;
              if(t>=52){f=t-52;s[i]=alf[f];}else s[i]=alf[j+k];
printf("%c",s[i]);break;}else
if(j==(dl2-1)&&k0==0)printf("%c",s[i]);
}
}
main()
{
 
textbackground(10);textcolor(0);
 
stroka();
и цвет не меняет в отдельной программе парюсь вторые сутки может быть знающие люди подскажут
программная среда Borland C++ компилятор V 3.11
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru