Red de conocimiento informático - Computadora portátil - Cómo construir un sistema de gestión usando lenguaje C

Cómo construir un sistema de gestión usando lenguaje C

Puede consultar esta libreta de direcciones e intentar reescribirla usted mismo, el principio es similar

//Archivo de encabezado

#include "stdio.h"

#include "string.h"

#include "windows.h"

#include "iostream.h"

# incluir "stdlib .h"

#include "conio.h"

#define MAX_LIST 3

#define FILE_NAME"phone_list.txt"

//Declaración de función

int check_phone(char *phone_num);//Buscar número de teléfono

void menu();//Menú principal de gestión de la libreta de direcciones del estudiante

void get_line(char *cmd);//Aceptar caracteres ingresados ​​por el usuario en la línea de comando

void add_user();//Agregar un usuario

int load_file (void);//Cargar archivo

int save_file(void);//Archivo de almacenamiento

void show_all(void);//Mostrar usuario

void del_user(void);// Eliminar usuario

void found_user(void);//Buscar usuario

void change_user(void);//Modificar usuario

void fenlei_user(void);/ /Mostrar todos los usuarios por categoría

void fenlei_user1();//Mostrar todos los usuarios móviles

void fenlei_user2();//Mostrar todos los usuarios de China Unicom

void fenlei_user3 ();//Mostrar todos los usuarios de telecomunicaciones

//Definir estructura

struct phone_node{

charname[10] ;

charphone[12];

charflag;

};

struct phone_node phone_list[MAX_LIST];

char cmd[128];

//Agregar función

void add_user()//Para implementar la función de agregar un registro de usuario a la libreta de direcciones, use la función add_user () para implementarlo

{

system("color56");

system("cls");

inti, ret;

charu_name[10];

charflag = 0;

printf("Ingrese el nombre de usuario:\n");

get_line(cmd);

strcpy(u_name,cmd);

printf("Ingrese el número de teléfono móvil del usuario:\n");

get_line(cmd);

ret= check_phone (cmd);//Compruebe si el número de usuario es válido y, si es válido, agréguelo a la matriz de estructura

si (ret)

{

printf(" Agregar número de usuarios

Hay un error en los datos, ¡vuelve a ingresar! \n");

}

else

{

for(i=0;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;//Establecer el registro actual para que sea válido

printf("¡Agregue datos de usuario exitosamente!\nNombre de usuario: %s\nNúmero de teléfono móvil: %s\n",

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

p>

flag= 1;//Indica que hay espacio de almacenamiento y se ha reservado un registro

break;

}

}

if(flag== 0)

printf("El usuario actual está completo, ¡borre otro usuario!\n");

}

}

//Función principal

int main(){

load_file();

/ /intret;

while(1){

menú();

get_line(cmd);

switch(cmd[0 ])

{

case '0':

printf("¡Gracias por usar!\n");

return0 ;

ruptura ;

caso '1':

add_user();

ruptura;

caso '2':

show_all();

cambiar_usuario();

br

eak;

caso '3':

found_user();

descanso;

caso '4':

show_all();

del_user();

show_all();

descanso;

caso '5':

show_all();

pausa;

caso'6':

fenlei_user();

break;

predeterminado:

printf("¡Entrada incorrecta, elija de nuevo!\n");

}

save_file ( );

}

return0;

}

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

Nombre de la función: get_line

Función de la función: acepta caracteres ingresados ​​por el usuario, solo retorno de carro o salto de línea

Parámetro de entrada: char*cmd almacena la primera dirección del búfer de caracteres

Valor de retorno: Ninguno

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

//Eliminar función

void get_line(char*cmd)

{

chartemp;

while(1)

{

temp=getchar();

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

{

*cmd= '\0';

descanso;

}

*cmd=temp;

cmd++;

}

}

//Número de cheque

int check_phone(char *phone_num)

{

system ("color 56");

system("cls");

inti;

if(strlen(phone_num)==11)

{

printf("El nuevo número de teléfono móvil ingresado es: %s\n",phone_num);

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

{

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

{

return1;

}

}

}

más

{

return1;

}

return 0;

}

//Eliminar registro

void del_user(void){

inti;

charflag=0;

printf("Ingrese el nombre de usuario:");

get_line(cmd);

for( i=0;i

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

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

phone_list[i].flag=0;

printf("¡Elimine los datos del usuario correctamente!\nNombre de usuario: %s, número de teléfono móvil: %s \ n",phone_list[i].name,phone_list[i].phone);

flag=1;//Representa la eliminación de un registro

ruptura;

}

}

}

if(flag==0)

printf("usuario no encontrado\n");

}

//Mostrar todos los registros

void show_all(void){

inti;

para (i=0;i

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

printf("[%d]Nombre=%s ,teléfono=%s\n",i,lista_teléfonos[i].nombre,lista_teléfonos[i].teléfono);

}

}

}

//Función de búsqueda

void found_user(void){

inti;

cha

rflag=0;

printf("Ingrese el nombre de usuario que desea encontrar:");

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("¡Búsqueda exitosa!\n");

printf("[%d]Nombre=%s,teléfono=%s\n",i,phone_list [i ].name,phone_list[i].phone);

flag=1;//Representa un registro encontrado

break;

}

}

}

if(flag==0)

printf("¡usuario no encontrado!\n");

}

void change_user(void){

inti;

charflag=0;

printf("Ingrese el usuario para encontrar Nombre: ");

get_line(cmd);

for(i=0;i

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

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

printf("¡Búsqueda exitosa!\n"

printf("[%d]Nombre=%s,teléfono=%s\n",i,lista_teléfonos[i].nombre,lista_teléfonos[i].teléfono);

flag=1;//Representa un registro encontrado

ruptura;

}

}

}

if(flag==0){

printf("¡usuario no encontrado!\n");

}

printf("Por favor, introduzca el información que desea modificar Nombre: ");

get_line(cmd);

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

printf( "¡Modificación exitosa! \n");

printf("Ingrese el número de teléfono que desea modificar:");

get_line(cmd);

strcpy(lista_teléfonos[i].teléfono,

cmd);

printf("¡Modificación exitosa!\n");

}

//Mostrar todos los usuarios por categoría

void fenlei_user(void){

printf("Seleccione la categoría de visualización:\n\t\t1-Mostrar todos los usuarios móviles\n\t\t2-Mostrar todos los usuarios de China Unicom\n\t\ t3-Mostrar todos los usuarios de telecomunicaciones\n");

get_line(cmd);

switch(cmd[0])

{

case '1':

printf("La lista de usuarios móviles es la siguiente:\n");

fenlei_user1();

break;

case'2':

printf("La lista de usuarios de China Unicom es la siguiente:\n");

fenlei_user2();

break;

case'3':

printf("La lista de usuarios de telecomunicaciones es la siguiente:\n");

fenlei_user3( );

break;

p>

predeterminado:

printf("¡Selección incorrecta!\n");

break;

}

}

void fenlei_user1()//Mostrar todos los usuarios móviles

{

inti;

chara[3];

for(i=0;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] Nombre: %s Número: %s \n",i,lista_teléfonos[i].nombre,lista_teléfonos[ i].teléfono);

}

}

}

void fenlei_user2()//Mostrar todos los usuarios de China Unicom

{

inti;

chara[3];

for(i=0;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 ] Nombre: %s Número: %s \n",i,phone_list[i].name,phone_list[i].phone);

}

}

}

void fenlei_user3()//Mostrar todos los usuarios de telecomunicaciones

{

inti;

chara[3];

for(i=0;i

{

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

{

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

a[3]='\0';

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

printf(" [%d] Nombre: %s Número: %s\n",i,phone_list[i].name,phone_list[i].phone);

}

}

}

//Menú principal

menú vacío(){

sistema ("color 48");

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

printf("\t \ t----------------****Sistema de gestión de libreta de direcciones de estudiantes******------------------\ n");

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

printf(" \t\t1.Add Usuario:\n");

printf

(" \t\t2. Modificar usuario:\n");

printf(" \t\t3. Buscar usuario:\n");

printf(" \t \t4. Eliminar usuarios:\n");

printf(" \t\t5. Mostrar todos los usuarios:\n");

printf(" \t\t6. Mostrar usuarios por categoría:\n");

printf(" \t\t0. Salir del sistema:\n");

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

printf("\t\tPor favor seleccione:");

}

int save_file (void){

ARCHIVO*fp;

fp=fopen(FILE_NAME,"w");

if(NULL==fp){< / p>

printf("error de apertura de archivo\n");

return-1;

}

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

fclose(fp);

printf("guardar datos en archivo\n");

return0;

}

int load_file(void){

ARCHIVO*fp;

intret;

fp=fopen(FILE_NAME, " r");

if(NULL==fp){

printf("error de apertura de archivo\n");

devuelve guardar_archivo();

}

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

if(ret!=MAX_LIST){

fclose(fp);

printf("reeor de carga de archivos\n");

return-1;

}

fclose ( fp);

printf("datos de carga de archivo correctos\n");

return0;

}