28.06.2012, 16:25 | #11 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
|
28.06.2012, 16:25 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Я уверен, что проблему можно решить гораздо быстрее если ознакомиться с ней получше Строки. Не могу найти ошибку в программе Помогите найти ошибку Pascal ABC, ООП. Не могу найти ошибку Delhi. Вставить элемент, не могу найти ошибку Помогите найти ошибку |
30.06.2012, 17:27 | #12 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
появилась проблема.хочу чтоб калькулятор считал вещественные числа.вотизменил программу.но при вводе второго числаоно выходит с программы.в чём дело?
#include<stdio.h> #include<conio.h> main() { float a,b; char c; printf("Vvedite chislo "); scanf("%f", &a); printf("Vvedite operatsiy "); scanf("%s", &c); printf("Vvedite chislo "); scanf("%f", &b); switch(c) { case '+': printf("Suma:%f%c%f=%f \n",a,c,b,a+b); break; case '*': printf("Dobutok:%f%c%f=%f \n",a,c,b,a*b);break; case '/': printf("Chastka:%f%c%f=%f \n",a,c,b,a/b); break; case '-': printf("Raznitsa: %f%c%f=%f \n", a,c,b,a-b); } getch(); } |
30.06.2012, 20:02 | #14 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
и вообще у вас есть несколько ошибок.
1) функция main() обязательно должна иметь тип int и возвратить 0 в случае удачного завершения. библиотека conio.h не нужна. для с++ правильнее использовать getchar(). ну и наконец делайте отступы в программе. в общем код будет таким: Код:
#include <stdio.h> int main() { float a,b; char c; printf("Vvedite chislo "); scanf("%g", &a); printf("Vvedite operatsiy "); scanf("%s", &c); printf("Vvedite chislo "); scanf("%g", &b); switch(c) { case '+': printf("Suma: %g %c %g = %g \n", a, c, b, a+b); break; case '*': printf("Dobutok: %g %c %g = %g \n", a, c, b, a*b); break; case '/': printf("Chastka: %g %c %g = %g \n", a, c, b, a/b); break; case '-': printf("Raznitsa: %g %c %g = %g \n", a, c, b, a-b); break; } getchar(); return 0; } |
01.07.2012, 13:30 | #15 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
спасибо за помощ.мой код тоже работает.извините.просто были некоторые причины.извините.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
01.07.2012, 14:07 | #16 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
решил написать ещё одну программу.но она не работает.в чём дело?
#include <stdio.h> #include <conio.h> main() { int a,b,d,e; printf("1-perimetr priamoygolnika,2-ploschad priamoygolnika\n"); printf("Vvedite dejstvie\n"); scanf("%d", &a); switch(a) { case '1': printf("Vvedite storonu\n"); scanf("%d%d", &b,&d); e=(b+d)*2; printf("perimetr=",&e); case '2': printf("Vvedite storonu\n"); scanf("%d%d", &b,&d); e=b*d; printf("ploschad=",&e); } getch(); } |
01.07.2012, 15:47 | #17 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
1) еще раз! функция main должна возвращать целое число, да у вас может компилятор пропустить и без числа. но! это не правильно по спецификации.
2) если у вас переменная а имеет тип int то и сравнивать его стоит с типом int а вы сравниваете с символом. 3) Нужно не забывать о break; в конце каждого! case (его можно упускать, но только в некоторых случаях) 4) почитайте еще раз о функции printf 1. у вас не задан спецификатор формата в строке 2. вы передаете не значение переменной в функцию а адрес где эта переменная "находиться" |
09.07.2012, 17:07 | #19 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
Код:
решил написать ещё одну программу.но она не работает.в чём дело? #include <stdio.h> #include <conio.h> int main(){ int a,b,d,e; printf("1-perimetr priamoygolnika,2-ploschad priamoygolnika\n"); printf("Vvedite dejstvie\n"); scanf("%i", &a); switch(a){ case 1: printf("Vvedite storonu\n"); scanf("%i%i", &b,&d); e=(b+d)*2; printf("perimetr = %i", e); break; case 2: printf("Vvedite storonu\n"); scanf("%i%i", &b,&d); e=b*d; printf("ploschad = %i", e); break; } getch(); return 0; } |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|