纪念一下我的第一个千行代码

Posted Rohlf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纪念一下我的第一个千行代码相关的知识,希望对你有一定的参考价值。

告别2017的人和事,期待一下2018。SEE YOU

   1 #include <stdio.h>
   2 #include <stdlib.h>
   3 #include <conio.h>
   4 #include <string.h>
   5 #include <windows.h>
   6 
   7 void mygotoxy( int x, int y, char c )           /* 移动光标函数,方便输入时进行修改 */
   8 {
   9     HANDLE    hOut    = GetStdHandle( STD_OUTPUT_HANDLE );
  10     COORD    pos    = { x*2, y };
  11     SetConsoleCursorPosition( hOut, pos );
  12     putchar( c );
  13 }
  14 
  15 
  16 int delay()                      /* 逐字输出welcome! */
  17 {
  18     printf( "\\n\\n\\n" );
  19     printf( "\\t\\t\\t\\t     W " );
  20     Sleep( 150 );
  21     printf( "E " );
  22     Sleep( 150 );
  23     printf( "L " );
  24     Sleep( 150 );
  25     printf( "C " );
  26     Sleep( 150 );
  27     printf( "O " );
  28     Sleep( 150 );
  29     printf( "M " );
  30     Sleep( 150 );
  31     printf( "E " );
  32     Sleep( 150 );
  33     printf( "!" );
  34     printf( "\\n" );
  35     return(0);
  36 }
  37 
  38 
  39 int twinkle()                     /* 欢迎界面闪烁 */
  40 {
  41     for ( int i = 0; i <= 5; i++ )
  42     {
  43         system( "color 09" );
  44         Sleep( 100 );
  45         system( "color 0F" );
  46         Sleep( 100 );
  47         system( "color 0E" );
  48         Sleep( 100 );
  49         system( "color 02" );
  50         Sleep( 100 );
  51     }
  52     return(0);
  53 }
  54 
  55 
  56 /* 结构体的定义 */
  57 struct PERSON {
  58     char    username[21];
  59     char    userpassword[7];
  60     char    ID_card[20];
  61     char    B_Day[20];
  62 };
  63 struct TICKETS {
  64     char    train_number[20];
  65     char    B_time_day[20];
  66     char    B_time[20];
  67     char    E_time[20];
  68     char    B_station[20];
  69     char    E_station[20];
  70     float    price;
  71     int    tickets_number_out;
  72     int    tickets_number_remain;
  73 };
  74 struct ADMIN {
  75     char    admin_username[20];
  76     char    admin_pwd[20];
  77 };
  78 struct PERSON    person[1000] = {
  79     { "张三", "123456", "330723199904248818", "1999.4.24" },
  80     { "李四", "123456", "330723199905248889", "1999.5.24" }
  81 };
  82 struct TICKETS    tickets[1000] = {
  83     { "G1108", "1.16", "12:02", "1.16  13:31", "长沙", "武汉", 164.5, 87,  13  },
  84     { "T253",  "1.18", "7:40",  "1.18  15:37", "长沙", "广州", 98,    87,  12  },
  85     { "G6481", "1.17", "10:00", "1.17  13:31", "长沙", "深圳", 397,   120, 16  },
  86     { "G1482", "1.23", "8:40",  "1.23  14:59", "长沙", "南京", 502.5, 120, 110 },
  87     { "G2122", "1.21", "5:30",  "1.21  23:10", "长沙", "成都", 215,   87,  13  },
  88 };
  89 struct ADMIN    GM[10] = {
  90     { "admin", "123456" }
  91 };
  92 
  93 
  94 /* 函数定义 */
  95 void mygotoxy( int x, int y, char c );                  /**/
  96 
  97 
  98 int getIndexByTId( char id[] );                         /**/
  99 
 100 
 101 int delay();                                            /**/
 102 
 103 
 104 int twinkle();                                          /**/
 105 
 106 
 107 void f_show();                                          /**/
 108 
 109 
 110 void login_show();                                      /*  */
 111 
 112 
 113 void item_select_1( int sele );                         /* 第一个菜单的选择 */
 114 
 115 
 116 int main_show_1();                                      /* 第一个菜单的展示 ,return 一个int值 */
 117 
 118 
 119 void user_login_show();                                 /* 用户登录函数 */
 120 
 121 
 122 void admin_login_show();                                /* 管理员登录函数 */
 123 
 124 
 125 void user_register();                                   /* 用户注册 */
 126 
 127 
 128 bool isLogin( char name[], char pwd[] );                /* 比对模块 */
 129 
 130 
 131 int main_show_2();                                      /* 用户菜单 的展示,return 一个int */
 132 
 133 
 134 void item_select_2( int sele );                         /* 用户菜单的选择 */
 135 
 136 
 137 void inquire_tickets();                                 /* 用户查询,订票 */
 138 
 139 
 140 void return_show();                                     /*  */
 141 
 142 
 143 void alter_show();                                      /* 查看已购票务 */
 144 
 145 
 146 void alter_pwd();                                       /*  */
 147 
 148 
 149 int getIndexById( char id[] );                          /*  */
 150 
 151 
 152 bool isLogin1( char name[], char pwd[] );               /* 管理员专属密码比对函数 */
 153 
 154 
 155 int main_show_3();                                      /* 管理员 菜单的展示 ,return 一个int值 */
 156 
 157 
 158 void item_select_3( int sele );                         /* 管理员 菜单的选择 */
 159 
 160 
 161 void add_tickets();                                     /* 加车票 */
 162 
 163 
 164 void alter_tickets();                                   /* 改车票 */
 165 
 166 
 167 void delete_tickets();                                  /*删车票 */
 168 
 169 
 170 void add_person();                                      /* 加人 */
 171 
 172 
 173 void alter_person();                                    /* 改人 */
 174 
 175 
 176 void delete_person();                                   /*删人 */
 177 
 178 
 179 int getIndexByTTId( char id0[], char id1[], char id2[] );
 180 
 181 
 182 void printfPersonInfoToFile( char file_path[] );        /* 写入 人的数据 */
 183 
 184 
 185 void scanfPersonInfoToFile( char file_path[] );         /* 读出 人的数据 */
 186 
 187 
 188 void printfTicketsInfoToFile( char file_path[] );       /* 写入 车票数据 */
 189 
 190 
 191 void scanfTicketsInfoToFile( char file_path[] );        /* 读出 车票数据 */
 192 
 193 
 194 /* 全局变量 */
 195 #define USERS_SIZE    2
 196 #define TRAIN_SIZE    5
 197 int flag = -1;                                          /* 用于订票后记录该用户买的票的下标*/
 198 /* 声明全局变量 表示人的实际数量 */
 199 int    person_number    = 2;
 200 int    train_number    = 5;
 201 FILE    *fp;
 202 
 203 
 204 /*
 205  * long N_tickets,N_person;
 206  * 主函数
 207  */
 208 int main()
 209 {
 210     system( "color 02" );
 211     SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_INTENSITY | FOREGROUND_GREEN );
 212     long length;
 213 
 214 
 215 /*    fp=fopen("Person.dat","a+");
 216  * fseek(fp,0,SEEK_END);
 217  * length=ftell(fp);
 218  * N_person=length/sizeof(person[0]);
 219  * fp=fopen("Tickets.dat","a+");
 220  * fseek(fp,0,SEEK_END);
 221  * length=ftell(fp);
 222  * N_tickets=length/sizeof(tickets[0]);*/
 223     scanfPersonInfoToFile( "Person.dat" );
 224     scanfTicketsInfoToFile( "Tickets.dat" );
 225 
 226 
 227     /*
 228      * printfPersonInfoToFile("Person.dat");
 229      * printfTicketsInfoToFile("Tickets.dat");
 230      */
 231 
 232     f_show();
 233 
 234 
 235     return(0);
 236 }
 237 
 238 
 239 /* 函数声明 */
 240 void f_show()
 241 {
 242     delay();
 243     printf( "\\t\\t\\t******************************************\\n" );
 244     printf( "\\t\\t\\t**\\t\\t\\t\\t\\t**\\n" );
 245     printf( "\\t\\t\\t**\\t 欢迎来到火车票售票系统!\\t**\\n" );
 246     printf( "\\t\\t\\t**\\t\\t\\t\\t\\t**\\n" );
 247     printf( "\\t\\t\\t******************************************\\n" );
 248     twinkle();
 249     SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_INTENSITY | FOREGROUND_GREEN );
 250     printf( "\\t\\t\\t\\t     按任意键进入系统..." );
 251 
 252     getch();
 253 
 254     item_select_1( main_show_1() ); /* 进入登陆界面 */
 255 }
 256 
 257 
 258 int main_show_1()
 259 {
 260     int sele = 0;
 261     system( "cls" );
 262     printf( "\\n\\n\\n" );
 263     printf( "\\t\\t\\t******************************************\\n" );
 264     printf( "\\t\\t\\t\\t\\t管理菜单\\n\\n" );
 265     printf( "\\t\\t\\t\\t★1、用户登录\\n" );
 266     printf( "\\t\\t\\t\\t★2、管理员登录\\n" );
 267     printf( "\\t\\t\\t\\t★3、用户注册\\n" );
 268     printf( "\\t\\t\\t\\t★0、退出系统\\n" );
 269     printf( "\\t\\t\\t******************************************\\n" );
 270 
 271     printf( "\\t\\t\\t\\t请输入你的选择:\\t" );
 272     scanf( "%d", &sele );
 273     return(sele);
 274 }
 275 
 276 
 277 void item_select_1( int sele )
 278 {
 279     switch ( sele )
 280     {
 281     case 1: {
 282         user_login_show();
 283         break;
 284     }
 285     case 2: {
 286         admin_login_show();
 287         break;
 288     }
 289     case 3: {
 290         user_register();
 291         break;
 292     }
 293     case 0: {
 294         exit( 0 );
 295     }
 296     }
 297 }
 298 
 299 
 300 /* 用户注册(增加) */
 301 
 302 void user_register()
 303 {
 304     char password[7];
 305     system( "cls" );
 306     printf( "\\n\\n\\n" );
 307     printf( "\\t\\t\\t******************************************\\n" );
 308     printf( "\\t\\t\\t\\t\\t管理菜单\\n\\n" );
 309     printf( "\\t\\t\\t用户名:\\t" );
 310     scanf( "%s", person[person_number].username );
 311     printf( "\\t\\t\\t密  码:\\t" );
 312     for ( int i = 0; i < 6; i++ )           /* 密码统一6位 */
 313     {
 314         if ( (password[i] = getch() ) == 8 )
 315         {
 316             i -= 2;
 317             printf( "\\b \\b" );
 318             continue;
 319         }
 320         printf( "*" );
 321     }
 322     strcpy( person[person_number].userpassword, password );
 323 
 324     printf( "\\n\\t\\t\\t身份证:\\t" );
 325     scanf( "%s", person[person_number].ID_card );
 326     printf( "\\t\\t\\t生  日:\\t" );
 327     scanf( "%s", person[person_number].B_Day );
 328     person_number++;
 329     printfPersonInfoToFile( "Person.dat" );
 330     printf( "\\n\\t\\t\\t***********************************\\n" );
 331     SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_INTENSITY | FOREGROUND_BLUE );
 332     printf( "\\t\\t\\t注册成功,按任意键进入界面菜单.....\\t" );
 333     SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_INTENSITY | FOREGROUND_GREEN );
 334     getch();
 335     item_select_1( main_show_1() );
 336 }
 337 
 338 
 339 /* -----------------------------------华丽的分割线lllll接下来是用户环节----------------------------------------------// */
 340 bool isLogin( char name[], char pwd[] )
 341 {
 342     bool ls = false;
 343     for ( int i = 0; i < 100; i++ )
 344     {
 345         if ( !strcmp( name, person[i].username ) && !strcmp( pwd, person[i].userpassword ) )
 346         {
 347             ls = true;
 348         }
 349     }
 350     return(ls);
 351 }
 352 
 353 
 354 void user_login_show()
 355 {
 356     system( "cls" );
 357     char    username[11];
 358     char    userpassword[我的第一个Go web程序  纪念一下

纪念申请的第一天

IOS-7-纪念一下刚刚接到的第一份offer(下面是面试遇到的问题)

代码大全2中文纪念版与英文珍藏版区别

统计千行代码Bug率,有没有意义?

代码质量指数计算规则