Re[3]: использование scanf()
От: TARGRED  
Дата: 17.04.05 10:17
Оценка:
При написании три или больше букв программа закрывается.
Может глюк компилятора?






//---------------------------------------------------------------------------
#include <stdio.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{

        int s;

        struct { char name[10];
                 unsigned sum;
                 int type;
                 union { char software[9];
                         char not_software[13];
                       }licenzia;
                         struct {
                                  unsigned i;/*  */
                                  char FIO[40];
                                      union { unsigned day;
                                              unsigned year;
                                              unsigned chas;
                                            }Date;
                                 }Raz;

                }  Disk_s;

        printf("%s", " ---------------------------------------------------\n ");
        printf("%s", "|                  Program   Book CD              |\n ");
        printf("%s", "|                      versia 1.0                 |\n ");
        printf("%s", "---------------------------------------------------\n ");
        printf("%s", " \n\n\n\n\nInfo:\n  1. Name (CD)\n  2. Price (CD) \n  3. One (softwere) or Zero (not_software)\n  4. I (int CD)\n  5. FIO \n  6. Day or Year \n  7. Time \n--------------------------------------------------\n\n                       Cansel or Ok \n--------------------------------------------------\n");




        scanf("%c",&Disk_s.name,"\r");
        scanf("%d",&Disk_s.sum,"\r");
 /*=======================================================*/
        scanf("%c",&s,"\r");
        if(s=="One")
        {
            Disk_s.licenzia.software=="software";

        }
        else if(s=="Zero")
        {
            Disk_s.licenzia.not_software=="not_software";
        }
 /*=======================================================*/
        scanf("%d\r",&Disk_s.Raz.i);
        scanf("%d\r",&Disk_s.Raz.FIO);
/*========================================================*/
        scanf("%d\r",&s);
        if(s=="Day" || s=="day")
        {
           scanf("%c\r",&Disk_s.Raz.Date.day);

        }
        else if(s=="Year" || s=="year")
        {
           scanf("%c\r",&Disk_s.Raz.Date.year);
        }
/*=======================================================*/
        scanf("%d",&s);
        if(s=="Cansel" || s=="cansel")
        {
            printf("%s\r", "-------------Cansel--------------");
        }
        else if(s=="ok" || s=="Ok")
        {
            FILE *ft;
            if((ft=fopen("C:\1.txt","a"))!=NULL)
            {
                fprintf(ft,"%d",Disk_s.name,"\r");
               if( fclose(ft)==0)
               {
                 printf("%d", "File write and close");
                 close();
               }
            }

        }





        return 0;
}
//---------------------------------------------------------------------------
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.