Написать программу ввода/вывода данных целого, вещественного и символьного типа - C (СИ)
Формулировка задачи:
"Написать программу ввода/вывода данных целого, вещественного и символьного типа без модификаторов и с допустимыми модификаторами. На дисплей выводятся строки, определяющие тип переменной и ее значение, следующего вида:
int <вводимое значение> <выводимое значение>
short int <вводимое значение> <выводимое значение>
В общем, это мой вариант...НЕ ДОПИСАННЫЙ. прога вылетает при вводе числа -0.675262089200e60
помогите, как определить символы в строке после определенного символа...например: после символа "е" в строке перевести (в данном случае 60) в число.
Есть еще мысль по структуре...это полный перевод с помошью циклов и ввода булеан, определить количество введенных символов и знаки. и если есть точка и т.п.
будьте добры, напишите и свои варианты проги. или помогите в моем.
заранее спасибо
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> main () { char i[40]; char *c = "0"; char *ptr, p = 'e'; char m[30]; int l; long int n; float b; int d; clrscr (); gets(i); strcpy(m,i); //Copirovanie stroki 'i' v stroku 'm' ptr = strchr (i, p); d = strcmp (c,i); //Sravnenie strok if ( d == 0) printf ("Vvedeno chislo int 0"); else { n = atol(i); //preobrazovanie stroki v long int b = _atold(i); //preobrazovanie stroki v double if (n < b && ptr) //sravnenie peremennih printf("float <%s> <%e> ",m , b); else { if (b == 0) printf ("Char <%s> <%s>",m , i); else { if (n > b && ptr) // povtornoe sravnenie peremennih iz-za vozmozhnosti otric chisla printf("float <%s> <%e> ",m , b); else { if (n < b ) //sravnenie peremennih printf("float <%s> <%f> ",m , b); else { if (b == 0) printf ("Char <%s> <%s>",m , i); else { if (n > b) // povtornoe sravnenie peremennih iz-za vozmozhnosti otric chisla printf("float <%s> <%lf> ",m , b); else { printf("int <%s> <%ld> \n",m , n); ;} ;} } } } } } getch (); return 0; }
Решение задачи: «Написать программу ввода/вывода данных целого, вещественного и символьного типа»
textual
Листинг программы
#include <stdio.h> int main(void) { char line[1000]; int retval; retval = Get(line, sizeof line, stdin); if (retval != 0) { fprintf(stderr, "error: can't get line" "\n"); return 1; } printf("%s" "\n", line); ... return 0; }
Объяснение кода листинга программы
В данном коде:
- Объявлены две переменные:
line
типаchar
иretval
типаint
. - Переменная
retval
инициализируется значением, возвращаемым функциейGet()
. - Выполняется проверка: если
retval
не равно нулю, то выводится сообщение об ошибке в файлstderr
, после чего программа возвращает значение 1. - Если проверка не сработала, то выводится содержимое переменной
line
в файлstdout
. - Далее в коде идут дополнительные действия, которые не описаны в задании.
- В конце программы возвращается ноль, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д