當前位置:編程學習大全網 - 源碼下載 - C語言做管理系統這個怎麽做

C語言做管理系統這個怎麽做

妳可以參考這個通訊錄試著自己改寫壹下,原理差不多的

//頭文件

#include"stdio.h"

#include"string.h"

#include"windows.h"

#include"iostream.h"

#include "stdlib.h"

#include "conio.h"

#define MAX_LIST 3

#define FILE_NAME"phone_list.txt"

//函數聲明

int check_phone(char *phone_num);//查找電話號碼

void menu();//學生通訊錄管理主菜單

void get_line(char *cmd);//接受用戶命令行輸入的字符

void add_user();//添加用戶

int load_file(void);//裝載文件

int save_file(void);//存儲文件

void show_all(void);//顯示用戶

void del_user(void);//刪除用戶

void found_user(void);//查找用戶

void change_user(void);//修改用戶

void fenlei_user(void);//分類顯示所有用戶

void fenlei_user1();//顯示所有移動用戶

void fenlei_user2();//顯示所有聯通用戶

void fenlei_user3();//顯示所有電信用戶

//定義結構體

struct phone_node{

charname[10];

charphone[12];

charflag;

};

struct phone_node phone_list[MAX_LIST];

char cmd[128];

//添加函數

void add_user()//實現向通訊錄添加壹條用戶記錄的功能,使用函數add_user()實現

{

system("color56");

system("cls");

inti,ret;

charu_name[10];

charflag = 0;

printf("請輸入用戶姓名:\n");

get_line(cmd);

strcpy(u_name,cmd);

printf("請輸入用戶手機號:\n");

get_line(cmd);

ret= check_phone(cmd);//檢驗用戶號碼是否有效,如果有效就添加到結構體數組中

if(ret)

{

printf("添加用戶數據有誤,請重新輸入!\n");

}

else

{

for(i=0;i<MAX_LIST;i++)

{

if(phone_list[i].flag==0)

{

strcpy(phone_list[i].name,u_name);

strcpy(phone_list[i].phone,cmd);

phone_list[i].flag=1;//設置當前記錄有效

printf("添加用戶數據成功!\n用戶名:%s\n手機號:%s\n",

phone_list[i].name,phone_list[i].phone);

flag= 1;//代表有存儲空間,已保留壹條記錄

break;

}

}

if(flag== 0)

printf("當前用戶已滿,請刪除另外的用戶!\n");

}

}

//主函數

int main(){

load_file();

//intret;

while(1){

menu();

get_line(cmd);

switch(cmd[0])

{

case '0':

printf("謝謝使用!\n");

return0;

break;

case '1':

add_user();

break;

case '2':

show_all();

change_user();

break;

case '3':

found_user();

break;

case '4':

show_all();

del_user();

show_all();

break;

case '5':

show_all();

break;

case'6':

fenlei_user();

break;

default:

printf("輸入有誤,請重新選擇!\n");

}

save_file();

}

return0;

}

/*---------------------------------

函數名稱:get_line

函數功能:接受用戶輸入的字符,只有回車或換行時才結束

入口參數:char*cmd存放字符緩沖區首址

返回值:無

--------------------------------------------*/

//刪除函數

void get_line(char*cmd)

{

chartemp;

while(1)

{

temp=getchar();

if(temp==0xa||temp==0xd)

{

*cmd='\0';

break;

}

*cmd=temp;

cmd++;

}

}

//檢驗號碼

int check_phone(char *phone_num)

{

system("color 56");

system("cls");

inti;

if(strlen(phone_num)==11)

{

printf("輸入的新的手機號碼是:%s\n",phone_num);

for(i=0;i<11;i++)

{

if(phone_num[i]<'0'||phone_num[i]>'9')

{

return1;

}

}

}

else

{

return1;

}

return 0;

}

//刪除記錄

void del_user(void){

inti;

charflag=0;

printf("請輸入用戶姓名:");

get_line(cmd);

for(i=0;i<MAX_LIST;i++){

if(phone_list[i].flag==1){

if(strcmp(phone_list[i].name,cmd)==0){

phone_list[i].flag=0;

printf("刪除用戶數據成功!\n用戶名:%s,手機號:%s\n",phone_list[i].name,phone_list[i].phone);

flag=1;//代表刪除壹條記錄

break;

}

}

}

if(flag==0)

printf("usernot found\n");

}

//顯示所有記錄

void show_all(void){

inti;

for(i=0;i<MAX_LIST;i++){

if(phone_list[i].flag==1){

printf("[%d]Name=%s,phone=%s\n",i,phone_list[i].name,phone_list[i].phone);

}

}

}

//查找函數

void found_user(void){

inti;

charflag=0;

printf("輸入要查找用戶姓名:");

get_line(cmd);

for(i=0;i<MAX_LIST;i++){

if(phone_list[i].flag==1){

if(strcmp(phone_list[i].name,cmd)==0){

printf("查找成功!\n");

printf("[%d]Name=%s,phone=%s\n",i,phone_list[i].name,phone_list[i].phone);

flag=1;//代表查找到壹條記錄

break;

}

}

}

if(flag==0)

printf("usernot found!\n");

}

void change_user(void){

inti;

charflag=0;

printf("輸入要查找用戶姓名:");

get_line(cmd);

for(i=0;i<MAX_LIST;i++){

if(phone_list[i].flag==1){

if(strcmp(phone_list[i].name,cmd)==0){

printf("查找成功!\n");

printf("[%d]Name=%s,phone=%s\n",i,phone_list[i].name,phone_list[i].phone);

flag=1;//代表查找到壹條記錄

break;

}

}

}

if(flag==0){

printf("usernot found!\n");

}

printf("請輸入要修改的姓名:");

get_line(cmd);

strcpy(phone_list[i].name,cmd);

printf("修改成功!\n");

printf("請輸入要修改的電話號碼:");

get_line(cmd);

strcpy(phone_list[i].phone,cmd);

printf("修改成功!\n");

}

//分類顯示所有用戶

void fenlei_user(void){

printf("請選擇顯示類別:\n\t\t1-顯示所有移動用戶\n\t\t2-顯示所有聯通用戶\n\t\t3-顯示所有電信用戶\n");

get_line(cmd);

switch(cmd[0])

{

case'1':

printf("移動用戶列表如下:\n");

fenlei_user1();

break;

case'2':

printf("聯通用戶列表如下:\n");

fenlei_user2();

break;

case'3':

printf("電信用戶列表如下:\n");

fenlei_user3();

break;

default:

printf("選擇錯誤!\n");

break;

}

}

void fenlei_user1()//顯示所有移動用戶

{

inti;

chara[3];

for(i=0;i<MAX_LIST;i++)

{

if(phone_list[i].flag==1)

{

strncpy(a,phone_list[i].phone,3);

a[3]='\0';

if(strcmp(a,"134")==0||strcmp(a,"135")==0||strcmp(a,"136")==0||strcmp(a,"137")==0||strcmp(a,"138")==0||strcmp(a,"139")==0||strcmp(a,"158")==0||strcmp(a,"159")==0||strcmp(a,"188")==0)

printf(" [%d] 姓名:%s 號碼:%s\n",i,phone_list[i].name,phone_list[i].phone);

}

}

}

void fenlei_user2()//顯示所有聯通用戶

{

inti;

chara[3];

for(i=0;i<MAX_LIST;i++)

{

if(phone_list[i].flag==1)

{

strncpy(a,phone_list[i].phone,3);

a[3]='\0';

if(strcmp(a,"130")==0||strcmp(a,"131")==0||strcmp(a,"132")==0||strcmp(a,"155")==0||strcmp(a,"156")==0||strcmp(a,"185")==0||strcmp(a,"186")==0)

printf(" [%d] 姓名:%s 號碼:%s \n",i,phone_list[i].name,phone_list[i].phone);

}

}

}

void fenlei_user3()//顯示所有電信用戶

{

inti;

chara[3];

for(i=0;i<MAX_LIST;i++)

{

if(phone_list[i].flag==1)

{

strncpy(a,phone_list[i].phone,3);

a[3]='\0';

if(strcmp(a,"133")==0||strcmp(a,"153")==0||strcmp(a,"180")==0||strcmp(a,"189")==0)

printf(" [%d] 姓名:%s 號碼:%s\n",i,phone_list[i].name,phone_list[i].phone);

}

}

}

//主菜單

void menu(){

system("color 48");

printf("\t\t=============================================================\n");

printf("\t\t----------------****學生通訊錄管理系統****-------------------\n");

printf("\t\t=============================================================\n");

printf(" \t\t1.增添用戶:\n");

printf(" \t\t2.修改用戶:\n");

printf(" \t\t3.查找用戶:\n");

printf(" \t\t4.刪除用戶:\n");

printf(" \t\t5.顯示所有用戶:\n");

printf(" \t\t6.分類顯示用戶:\n");

printf(" \t\t0.退出系統:\n");

printf("\t\t--------------------------------------------------------------\n");

printf("\t\t請選擇:");

}

int save_file(void){

FILE*fp;

fp=fopen(FILE_NAME,"w");

if(NULL==fp){

printf("fileopen error\n");

return-1;

}

fwrite(phone_list,sizeof(struct phone_node),MAX_LIST,fp);

fclose(fp);

printf("savedata to file\n");

return0;

}

int load_file(void){

FILE*fp;

intret;

fp=fopen(FILE_NAME,"r");

if(NULL==fp){

printf("fileopen error\n");

returnsave_file();

}

ret=fread(phone_list,sizeof(structphone_node),MAX_LIST,fp);

if(ret!=MAX_LIST){

fclose(fp);

printf("fileload reeor\n");

return-1;

}

fclose(fp);

printf("fileload data ok\n");

return0;

}

  • 上一篇:vb如何實現生成出配置 如各種木馬生成器
  • 下一篇:2021年寓意好的微信頭像圖片,2021新版微信頭像高清怎樣從黑白恢復
  • copyright 2024編程學習大全網