C语言银行系统课程设计

本文为大家分享了C语言银行系统课程设计,供大家参考,具体内容如下

main.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
#define MaxNum 200
#define N_P 6
typedef struct
{
 int AccountNumber[3];
 char name[20];
 char password[N_P+1];
 unsigned long amount;
 int state;
} Account;
void Load(FILE *,Account *);
void ShowMenu(int );
int MakeChoice(int );
void EnterPassword(char *);
void CreatAccount(unsigned char *,Account *,int); //第一个参数为加密关键字,第二个参数为账户序号
int JudgePassword(char *,char *);
int decrypt(int *,unsigned char *);
void LogIn(unsigned char *,Account *,int); //第二个参数为当前账户数目,登陆成功返回1,失败返回0
int EnterAccountNumber(unsigned char *,int );
void EnterNum(char *,int );
void Operate(unsigned char *,Account *,int ,int );
void ShowSubMenu(char *);
void AdministratorMode(unsigned char *,unsigned char *,Account *,char *,int);
void ShowAdministratorMenu();
void WriteToFile(FILE *,unsigned char *,Account*,char *,int);
int main()
{
 FILE *fp;
 int i,total;
 unsigned char key[4],key_en[4];
 char administrator_password[10];
 Account *user;
 user=(Account *)malloc(sizeof(Account)*MaxNum);
 fp=fopen("bank.txt","r+");
 if(fp==NULL)
 {
  printf("银行数据库无法打开,按任意键结束程序!\n");
  getch();
  exit(1);
 }
 fscanf(fp,"%d\n%s\n%s",&total,administrator_password,key);
 for(i=0;i<3;++i)//用key_en保存key的值
  key_en[i]=key[i];
 key_en[0]=(key_en[0]<<3)|(key_en[0]>>(sizeof(key_en[0])*8-3));
 key_en[2]=(key_en[2]>>3)|(key_en[2]<<(sizeof(key_en[2])*8-3));
 Load(fp,user);//将数据存入数组user中
 while(1)
 {
  system("cls");
  ShowMenu(total);
  switch(MakeChoice(4))
  {
  case 1:
   system("cls");
   LogIn(key_en,user,total);
   break;
  case 2:
   system("cls");
   CreatAccount(key_en,user,total++);
   break;
  case 3:
   system("cls");
   AdministratorMode(key,key_en,user,administrator_password,total);
   break;
  default:
   system("cls");
   WriteToFile(fp,key,user,administrator_password,total);
   return 0;
  }
 }
 return 0;
}

function.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
#define MaxNum 200
#define N_P 6
//账户状态 0为正常 1为挂失 2为冻结 3为销户
typedef struct
{
 int AccountNumber[3];
 char name[20];
 char password[N_P];
 unsigned long amount;
 int state;
} Account;
void Load(FILE *,Account *);
void ShowMenu(int );
int MakeChoice(int );
void EnterPassword(char *);
void CreatAccount(unsigned char *,Account *,int); //第一个参数为加密关键字,第二个参数为账户序号
int JudgePassword(char *,char *);
int decrypt(int *,unsigned char *);
void LogIn(unsigned char *,Account *,int); //第二个参数为当前账户数目,登陆成功返回1,失败返回0
int EnterAccountNumber(unsigned char *,int );
void EnterNum(char *,int );
void Operate(unsigned char *,Account *,int,int );
void ShowSubMenu(char *);
void AdministratorMode(unsigned char *,unsigned char *,Account *,char *,int);
void ShowAdministratorMenu();
void WriteToFile(FILE *,unsigned char *,Account*,char *,int);
void Load(FILE *fp,Account *user)
{
 int count=0;
 //将文件中的用户信息存到数组中
 while(fscanf(fp,"\n%d%d%d %s %s %lu %d\n",&user[count].AccountNumber[0],&user[count].AccountNumber[1],\
     &user[count].AccountNumber[2],user[count].name,\
     user[count].password,&user[count].amount,&user[count].state)!=EOF)
  ++count;
}
void ShowMenu(int total)
{
 printf("****中国银行烟大计163-1分行****\n");
 printf("目前共有%d名注册用户*****\n",total);
 printf("1.登陆*************************\n");
 printf("2.开户*************************\n");
 printf("3.进入管理员模式***************\n");
 printf("4.退出*************************\n");
}
int MakeChoice(int n)
{
 int judge;
 printf("请输入1~%d\n",n);
 scanf("%d",&judge);
 while(judge<1||judge>n)//确保输入的是1~n
 {
  printf("输入不合法,请输入1~%d\n",n);
  fflush(stdin);//如果不加这句,输入一些字母会导致函数无限循环
  scanf("%d",&judge);
 }
 return judge;
}
void EnterPassword(char *password)
{
 int i;
 char t;
 for(i=0; i<N_P; ++i)
 {
  t=getch();
  if(t=='\b')//执行退格删除操作
  {
   printf("\b \b");
   i-=2;
   continue;
  }
  while(t<'0'||t>'9')
   t=getch();
  password[i]=t;
  putchar('*');
 }
}
void EnterNum(char *s,int n)
{
 int i=0;
 char t;
 while(i<n)
 {
  t=getch();
  if(t=='\b')
  {
   printf("\b \b");
   --i;
   continue;
  }
  else if(t=='\r'||t=='\n')
   break;
  while(t<'0'||t>'9')
   t=getch();
  s[i]=t;
  putchar(t);
  ++i;
 }
}
int JudgePassword(char *temp_password,char *password)
{
 int i;
 for(i=0; i<N_P; ++i)
 {
  if(temp_password[i]!=password[i])
   break;
 }
 if(i==N_P)
  return 0;
 else
  return 1;
}
void CreatAccount(unsigned char *key,Account *user,int num)
{
 if(num>=MaxNum)
 {
  printf("银行用户数量已达到上限!\n按任意键返回主界面");
  getch();
  return;
 }
 int i,flag,num_de[3];
 int num_en[3];
 char temp_password[N_P],password[N_P];
 //将num的个位十位和百位分解,num_de[2]存个位,以此类推
 for(i=0; i<3; ++i)
  num_de[i]=0;
 for(i=0; i<3; ++i)
  num_en[i]=0;
 if(num<10)
  num_de[2]=num;
 else if(num<100)
 {
  num_de[2]=num%10;
  num_de[1]=num/10;
 }
 else
 {
  for(i=0; i<3; ++i)
  {
   num_de[i]=num%10;
   num/=10;
  }
 }
 //分解完成
 while(1)
 {
  flag=0;
  printf("请输入用户姓名:");
  fflush(stdin);
  scanf("%19[^\n]",user[num].name);
  for(i=0; i<strlen(user[num].name); ++i)
  {
   if(user[num].name[i]==' ')
   {
    printf("用户名中不能包含空格!\n");
    flag=1;
    break;
   }
  }
  if(flag==0)
   break;
 }
 for(i=0; i<3; ++i)
  num_en[i]=num_de[i]^key[i];
 for(i=0; i<3; ++i)
  user[num].AccountNumber[i]=num_en[i];
 printf("您的账号是:");
 for(i=0; i<3; ++i)
  printf("%03d ",num_en[i]);
 while(1)
 {
  printf("\n请设置密码:");
  EnterPassword(password);
  printf("\n请再次确认密码:");
  EnterPassword(temp_password);
  if(JudgePassword(temp_password,password))
   printf("\n两次输入不相等,密码设置失败!");
  else
  {
   strcpy(user[num].password,password);
   user[num].password[N_P]='\0';
   break;
  }
 }
 user[num].amount=0;
 user[num].state=0;
 printf("\n账户创建成功!\n按任意键返回主菜单");
 getch();
}
int decrypt(int *num_en,unsigned char *key)
{
 int i,num,num_de[3];
 for(i=0; i<3; ++i)
  num_de[i]=num_en[i]^key[i];
 num=num_de[0]*100+num_de[1]*10+num_de[2];
 return num;
}
int EnterAccountNumber(unsigned char *key,int total)
{
 int i,num;
 int num_en[3];
 char num_en_char[3];
 while(1)//输入账号
 {
  printf("请输入账号:");
  for(i=0;i<3;++i)
  {
   EnterNum(num_en_char,3);
   num_en[i]=atoi(num_en_char);
  }
  num=decrypt(num_en,key);
  if(num>total)//若num大于total则账号输入错误
   printf("\n账号输入错误!\n");
  else
   break;
 }
 return num;
}
void LogIn(unsigned char *key,Account *user,int total)
{
 int num,i;
 char password[N_P];
 num=EnterAccountNumber(key,total);
 //判断账户状态
 if(user[num].state==3)
 {
  printf("该账户已销户,无法使用!\n");
  printf("按任意键返回操作界面");
  getch();
  return;
 }
 else if(user[num].state==2)
 {
  printf("该账户因输入密码错误次数达三次,已冻结!\n请进入管理员模式解除异常状态!\n");
  printf("按任意键返回操作界面");
  getch();
  return;
 }
 //判断结束
 i=0;
 while(1)//输入密码
 {
  printf("\n请输入密码:");
  EnterPassword(password);
  if(JudgePassword(password,user[num].password)&&(++i<3))
   printf("\n密码输入错误,您还有%d次机会\n",3-i);
  else if(i>=3)
  {
   user[num].state=2;
   printf("\n密码错误次数过多,账户已冻结!\n");
   printf("即将返回主界面 ");
   for(i=0; i<3; ++i)
   {
    printf("%d",i);
    Sleep(1000);
    printf("\b");
   }
   return ;
  }
  else
  {
   printf("登陆成功!\n");
   break;
  }
 }
 Operate(key,user,num,total);
}
void ShowSubMenu(char *name)
{
 printf("****欢迎%s登陆本行********\n",name);
 printf("1.存款*************************\n");
 printf("2.取款*************************\n");
 printf("3.查询*************************\n");
 printf("4.转账*************************\n");
 printf("5.挂失*************************\n");
 printf("6.销户*************************\n");
 printf("7.改密*************************\n");
 printf("8.返回主菜单*******************\n");
}
void Operate(unsigned char *key,Account *user,int num,int total)
{
 int i,num_t;
 unsigned long amount_t,max=1;
 char password[N_P],temp_password[N_P],amount_judge[6];
 for(i=0; i<(sizeof(unsigned long)*8-1); ++i) //计算最大存款额max
  max*=2;
 while(1)
 {
  system("cls");
  ShowSubMenu(user[num].name);
  switch(MakeChoice(8))
  {
  case 1:
   system("cls");
   while(1)
   {
    printf("请输入存款金额:");
    for(i=0;i<6;++i)
     amount_judge[i]='\0';
    EnterNum(amount_judge,5);
    amount_t=atol(amount_judge);
    if(amount_t>99999)
     printf("\n单次存款金额为0~99999元,存款失败!\n");
    else if(amount_t>=max-user[num].amount)
     printf("总金额超出上限,存款失败!\n");
    else
    {
     user[num].amount+=amount_t;
     printf("\n存款成功!按任意键返回操作界面");
     getch();
     system("cls");
     break;
    }
   }
   break;
  case 2:
   system("cls");
   if(user[num].state==1)
   {
    printf("该账户已挂失,无法执行取款操作!\n");
    printf("按任意键返回操作界面");
    getch();
    break;
   }
   while(1)
   {
    printf("请输入取款金额:");
    for(i=0;i<6;++i)
     amount_judge[i]='\0';
    EnterNum(amount_judge,5);
    amount_t=atol(amount_judge);
    if(amount_t>99999)
     printf("\n单次存款金额为0~99999元,存款失败!\n");
    else if(amount_t>user[num].amount)
     printf("\n账户余额不足,取款失败!\n");
    else
    {
     user[num].amount-=amount_t;
     printf("\n取款成功!按任意键返回操作界面");
     getch();
     system("cls");
     break;
    }
   }
   break;
  case 3:
   system("cls");
   printf("用户姓名:%s",user[num].name);
   printf("账户余额:%lu\n",user[num].amount);
   printf("账户状态:");
   if(user[num].state==1)
    printf("已挂失\n");
   else
    printf("正常\n");
   printf("按任意键返回操作界面");
   getch();
   system("cls");
   break;
  case 4:
   system("cls");
   if(user[num].state==1)
   {
    printf("该账户已挂失,无法执行转账操作!\n");
    printf("按任意键返回操作界面");
    getch();
    break;
   }
   num_t=EnterAccountNumber(key,total);
   while(1)
   {
    printf("请输入转账金额:");
    for(i=0;i<6;++i)
     amount_judge[i]='\0';
    EnterNum(amount_judge,5);
    amount_t=atol(amount_judge);
    if(amount_t>99999)
     printf("\n单次存款金额为0~99999元,存款失败!\n");
    else if(amount_t>user[num].amount)
     printf("账户金额不足,转账失败!\n");
    else if(amount_t>=max-user[num_t].amount)
     printf("\n对方总金额超出上限,转账失败!\n");
    else
    {
     user[num].amount-=amount_t;
     user[num_t].amount+=amount_t;
     printf("\n转账成功!按任意键返回操作界面");
     getch();
     system("cls");
     break;
    }
   }
   break;
  case 5:
   system("cls");
   printf("您确定要挂失吗?\n");
   printf("1.确定 2.取消\n");
   if(MakeChoice(2)==1)
   {
    user[num].state=1;
    printf("挂失成功!\n按任意键返回主界面");
    getch();
   }
   system("cls");
   break;
  case 6:
   system("cls");
   printf("您确定要销户吗?销户后所有功能都将无法实现,账户内的存款将冻结!\n");
   printf("1.确定 2.取消\n");
   if(MakeChoice(2)==1)
   {
    user[num].state=3;
    printf("销户成功!\n按任意键返回主界面");
    getch();
    system("cls");
    return;
   }
   else
    break;
  case 7:
   system("cls");
   while(1)
   {
    printf("\n请输入原密码:");
    EnterPassword(password);
    if(JudgePassword(password,user[num].password))
     printf("\n原密码输入错误!\n");
    else
     break;
   }
   while(1)
   {
    printf("\n请输入新密码:");
    EnterPassword(password);
    printf("\n请再次确认密码:");
    EnterPassword(temp_password);
    if(JudgePassword(temp_password,password))
     printf("\n两次输入不相等,密码设置失败!");
    else
    {
     strcpy(user[num].password,password);
     break;
    }
   }
   printf("\n密码修改成功!\n按任意键返回操作界面");
   getch();
   system("cls");
   break;
  default:
   return;
  }
 }
}
void AdministratorMode(unsigned char *key_orig,unsigned char *key,Account *user,char *administrator_password,int total)
{
 int num;
 char password[N_P],temp_password[N_P];
 while(1)//输入密码
 {
  printf("请输入管理员密码密码:");
  EnterPassword(password);
  if(JudgePassword(password,administrator_password))
   printf("密码输入错误!\n");
  else
   break;
 }
 printf("\n登陆成功!按任意键继续");
 getch();
 while(1)
 {
  system("cls");
  ShowAdministratorMenu();
  switch(MakeChoice(6))
  {
  case 1:
   system("cls");
   num=EnterAccountNumber(key,total);
   printf("请设置密码:");
   EnterPassword(password);
   printf("您设置的密码是:");
   puts(user[num].password);
   printf("\n按任意键返回操作界面");
   getch();
   break;
  case 2:
   system("cls");
   num=EnterAccountNumber(key,total);
   printf("您确定要解除此用户的挂失状态吗?\n");
   printf("1.确定 2.取消\n");
   if(MakeChoice(2)==1)
   {
    user[num].state=0;
    printf("解除挂失成功!\n按任意键返回主界面");
    getch();
   }
   break;
  case 3:
   system("cls");
   num=EnterAccountNumber(key,total);
   printf("\n您确定要解除此用户的冻结状态吗?\n");
   printf("1.确定 2.取消\n");
   if(MakeChoice(2)==1)
   {
    user[num].state=0;
    printf("解除冻结成功!\n按任意键返回主界面");
    getch();
   }
   break;
  case 4:
   system("cls");
   while(1)
   {
    printf("请输入新密码:");
    EnterPassword(password);
    printf("\n请再次确认密码:");
    EnterPassword(temp_password);
    if(JudgePassword(temp_password,password))
     printf("\n两次输入不相等,密码设置失败!\n");
    else
    {
     strcpy(administrator_password,password);
     break;
    }
   }
   printf("\n管理员密码修改成功!\n按任意键返回操作界面");
   getch();
   break;
  case 5:
   system("cls");
   printf("当前的账号生成关键字为“%s”,更改之后所有之前创建的账户将无法打开!\n",key_orig);
   printf("您确定要更改账号生成关键字吗?\n");
   printf("1.确定 2.取消\n");
   if(MakeChoice(2)==1)
   {
    printf("请输入新的关键字:");
    scanf("%3s",key_orig);
    printf("当前的关键字已更改为“%s”\n按任意键返回操作界面",key_orig);
    getch();
   }
   break;
  default:
   return;
  }
 }
}
void ShowAdministratorMenu()
{
 printf("****中国银行烟大计163-1分行****\n");
 printf("**********管理员模式***********\n");
 printf("1.修改用户密码*****************\n");
 printf("2.解除挂失*********************\n");
 printf("3.解除冻结*********************\n");
 printf("4.修改管理员密码***************\n");
 printf("5.修改账号生成关键字***********\n");
 printf("6.返回主界面*******************\n");
}
void WriteToFile(FILE *fp,unsigned char *key,Account *user,char *administrator_password,int total)
{
 int i,j;
 rewind(fp);
 fprintf(fp,"%d\n%6s\n%3s\n",total,administrator_password,key);
 for(i=0; i<total; ++i)
 {
  for(j=0; j<3; ++j)
   fprintf(fp,"%03d ",user[i].AccountNumber[j]);
  fprintf(fp,"%s %6s %lu %d\n",user[i].name,user[i].password,\
    user[i].amount,user[i].state);
 }
 fclose(fp);
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • C语言实现学生信息管理系统(单链表)
  • C语言单链表版学生信息管理系统
  • 学生信息管理系统C语言版
  • C语言实现简单学生学籍管理系统
  • C语言学生学籍管理系统课程设计
  • C语言实现学生学籍管理系统
  • C语言实现图书管理系统
  • C语言实现歌曲信息管理系统
  • C语言职工信息管理系统源码
  • C语言银行储蓄系统源码
(0)

相关推荐

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

  • C语言实现简单学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<conio.h> #define N 100 /*存储100个学生的学籍信息*/ int flag; /*标记是否登录*/ struct date /*出生日期*/ { int year; int month; int day; }; struct

  • C语言实现歌曲信息管理系统

    本文实例为大家分享了C语言实现歌曲信息管理系统的具体代码,供大家参考,具体内容如下 系统功能:该系统以菜单方式工作,歌曲信息包括:歌名.演唱者.作词.作曲.所属专辑.出版时间.出版公司.试设计一歌厅歌曲管理系统,使之能提供以下功能:歌曲信息录入.修改.插入.删除功能:歌曲排序浏览功能:按歌名查询.按演唱者查询等功能. 完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "string.h&q

  • C语言单链表版学生信息管理系统

    本文实例为大家分享了C语言学生信息管理系统的具体代码,供大家参考,具体内容如下 代码: //以单链表作为存储结构,设计和实现课程成绩管理的完整程序. //程序包括如下功能. //1.建立学生成绩表,包含学生的学号.姓名和成绩. //2.可以显示所有学生成绩. //3.可以计算学生的总数. //4.可以按学号和序号查找学生. //5.可以在指定位置插入学生成绩数据. //6.可以删除指定位置的学生数据. //7.可以把学生成绩按从高到低的顺序排序. //作者: yinlinqvan //操作系统:

  • C语言实现学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<windows.h> //**********************************结构体************************************* struct score

  • C语言实现学生信息管理系统(单链表)

    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年7月1日 * 版本号:codeblock * * 问题描述: 学生信息管理系统 * 输入描述: * 程序输出: 输出结果 */ #include <stdio.h> #include <stdlib.h> #include

  • C语言银行储蓄系统源码

    本文为大家分享了C语言银行储蓄系统源码,实现银行的各项功能,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> void openaccount();//开户 void save();//存款 void withdraw();//取款 void showAccount();//查询 void transferAccounts();

  • C语言银行系统课程设计

    本文为大家分享了C语言银行系统课程设计,供大家参考,具体内容如下 main.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <windows.h> #define MaxNum 200 #define N_P 6 typedef struct { int AccountNumber[3]; char name[20];

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

  • C语言图书管理系统课程设计

    这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念. C 源代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> struct book{ char book_name[30]; int bianhao; double price; char author[20]; char state[20]; cha

  • C语言通讯录管理系统课程设计

    本文实例为大家分享了C语言通讯录管理系统课程设计,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <windows.h> struct Sign{ char name[8]; char sex[4]; char birthday[12]; char phone[11]; char postcode[7]; char addr[30]; struct Sign *next; }pe; char Ph

  • C语言课程设计之抽奖系统

    本文实例为大家分享了C语言课程设计之抽奖系统的具体代码,供大家参考,具体内容如下 该程序的功能包括: 1.设置中奖人员 2.设置内幕人员 3.添加功能 4.删除功能 5.颜色设置 6.开发人员介绍 在使用该系统之前,请先在你程序保存的位置建一个17计科2.txt文档,里面填上学号和姓名,例如:25 贺志营. 建好txt文档后就可以直接运行了 运行截图及代码如下: 主界面: 功能介绍界面: 设置奖项界面: 开始抽奖界面不好演示,它是个动态的,下面有代码,可以自己运行下 程序代码: #include

  • C语言实现班档案管理系统课程设计

    本文实例为大家分享了C语言班档案管理系统的具体代码,供大家参考,具体内容如下 做的挺长时间的课程设计,当作参考吧 #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 20 struct student { long num; char name[20]; char sex[10]; int age; char bz[40]; struct student *next; }; int i,j,

  • C语言学生成绩管理系统课程设计word版

    一份C语言学生成绩管理系统设计报告,分享给大家 一.课程设计题目 <学生成绩管理系统设计> 二.实训目的 (1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法. (2)掌握C++的基本概念和基础知识. (3)通过训练能够读懂较为复杂的C++语言源程序并具备基本C++语言程序设计的能力. (4)通过实训,培养自己编写.调试.分析程序的能力. (5)培养自己独立解决问题,查找资料的能力.同学之间相互帮助,相互交流,相互合作的团队精神. (6) 培养自己良好的学习兴趣,独立的

  • C语言实现俄罗斯方块课程设计

    本文实例为大家分享了C语言实现俄罗斯方块的具体代码,供大家参考,具体内容如下 该课程设计用VC++6.0操作如下: 1.文件->新建->文件->左边选C/C++ Header File->右边文件名命名为"tetris.h"->路径假定为桌面文件夹:tetris->确定.然后将下面红色字体标记的"头文件"代码粘贴至其中,保存并退出(或者关闭工作空间). 2.文件->新建->文件->左边选C/C++ Header

  • C语言实现电话簿管理系统课程设计

    本文实例为大家分享了C语言课程设计:电话簿管理系统,供大家参考,具体内容如下 文件目录: 初始界面 现在显示一部分代码: //添加联系人 void add() { int i; FILE *fp1;//定义文件指针fp1,使其指向电话簿文本文件 fp1=fopen("电话簿.txt","a+"); printf("请输入要增加的联系人的个数:"); scanf("%d",&n); for(i=num;i<num+

  • C语言课程设计之停车场管理问题

    C语言课程设计之停车场管理问题,供大家参考,具体内容如下 1.问题描述 停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入:当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它

随机推荐