Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2014, 17:55   #1
Zaraaa
Пользователь
 
Регистрация: 19.04.2013
Сообщений: 83
По умолчанию проверка с++

Реализовать проверку корректности введенных пользователем данных, то бишь чтобы например если пользователь вводит с клавиатуры вместо цифры букву, то выскакивала ошибка. Правильно ли получилось? И
После запуска прогрпммы добавляет еще какую то строку, как убрать ее?
Код:
#include <stdio.h>
#include <string.h>
#include <conio.h> 
 
using namespace std;
struct AGR
{
char name[13];
char tip;
float  sq;
unsigned int ur;
} A[12];
 
int main()
{
struct AGR x;
int n,i,j;
 
//clrscr();
for(n=0;n<3;n++)
{
 printf("%d.Vvedite naimenovanie tovara, tip tovara, cena, minimalnoe koli4estvo v partii ",n+1);
 scanf("%s", A[n].name);
 if (!strcmp(A[n].name,"exit")) break;   //сравнивает 2 строки
 scanf("%s %f %u",&A[n].tip, &A[n].sq, &A[n].ur);
 if (scanf("%f",&A[n].ur, &A[n].sq)!=1)
{
printf("Oshibka vvoda");
getch();
return 0;
}
}
 
printf("|-------------------------------------------------------------------------------|\n");
printf("|                             Price List                                        |\n");
printf("|-------------------------------------------------------------------------------|\n");
printf("|naimenovanie tovara|tip tovara| cena za 1 sht (grn) |minimalnoe kol-vo v partii|\n");
printf("|------------------ |----------|---------------------|--------------------------|\n");
 
for (i=0;i<n;i++)
  printf("|%-12s       |%-3c       | %9.2f           | %-17u      |\n",A[i].name,A[i].tip,A[i].sq,A[i].ur);
printf("|-----------------------------------------------------------------------------|\n");
 
for (i=0;i<n-1;i++)
{
  for (j=i+1;j<n;j++)
  {
    if((strcmp(A[i].name,A[j].name))>0)   //сравнивает 2 строки
     {
       strcpy(x.name,A[i].name);   //копирует одну строку в другую
       strcpy(A[i].name,A[j].name);
       strcpy(A[j].name,x.name);
 
       x.tip=A[i].tip;
       A[i].tip=A[j].tip;
       A[j].tip=x.tip;
 
       x.sq=A[i].sq;
       A[i].sq=A[j].sq;
       A[j].sq=x.sq;
 
       x.ur=A[i].ur;
       A[i].ur=A[j].ur;
       A[j].ur=x.ur;
 
     }
  }
}
printf("|-------------------------------------------------------------------------------|\n");
printf("|                             Price List                                        |\n");
printf("|-------------------------------------------------------------------------------|\n");
printf("|naimenovanie tovara|tip tovara| cena za 1 sht (grn) |minimalnoe kol-vo v partii|\n");
printf("|------------------ |----------|---------------------|--------------------------|\n");
 
for (i=0;i<n;i++)
 
 printf("|%-12s       |%-3c       | %9.2f           | %-17u      |\n",A[i].name,A[i].tip,A[i].sq,A[i].ur);
printf("|-------------------------------------------------------------------------------|\n");
 
getch();
return 0;
}
Zaraaa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка if ViktorQQQ PHP 2 22.11.2011 23:44
excel.Проверка VBA и проверка функции Будда Помощь студентам 0 14.04.2011 21:10
проверка на IE TDrive JavaScript, Ajax 2 05.03.2010 13:41
Проверка Манжосов Денис :) Общие вопросы Delphi 4 17.10.2008 16:27