Написать программу ввода/вывода данных целого, вещественного и символьного типа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

"Написать программу ввода/вывода данных целого, вещественного и символьного типа без модификаторов и с допустимыми модификаторами. На дисплей выводятся строки, определяющие тип переменной и ее значение, следующего вида: int <вводимое значение> <выводимое значение> short int <вводимое значение> <выводимое значение>
#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;
 
}
В общем, это мой вариант...НЕ ДОПИСАННЫЙ. прога вылетает при вводе числа -0.675262089200e60 помогите, как определить символы в строке после определенного символа...например: после символа "е" в строке перевести (в данном случае 60) в число. Есть еще мысль по структуре...это полный перевод с помошью циклов и ввода булеан, определить количество введенных символов и знаки. и если есть точка и т.п. будьте добры, напишите и свои варианты проги. или помогите в моем. заранее спасибо

Решение задачи: «Написать программу ввода/вывода данных целого, вещественного и символьного типа»

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;
}

Объяснение кода листинга программы

В данном коде:

  1. Объявлены две переменные: line типа char и retval типа int.
  2. Переменная retval инициализируется значением, возвращаемым функцией Get().
  3. Выполняется проверка: если retval не равно нулю, то выводится сообщение об ошибке в файл stderr, после чего программа возвращает значение 1.
  4. Если проверка не сработала, то выводится содержимое переменной line в файл stdout.
  5. Далее в коде идут дополнительные действия, которые не описаны в задании.
  6. В конце программы возвращается ноль, что означает успешное завершение работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы