数学建模社区-数学中国

标题: 用c语言写一个通讯录,开贴可能会出现好些问题来求教 [打印本页]

作者: 蕾欧娜    时间: 2015-4-20 10:36
标题: 用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题/ d( D8 X$ c* Q, f5 t0 g$ i
代码:
8 b' r* ]4 Z* a9 i/ n) h* ?#include "stdio.h"
. [4 U7 U- ?5 s: p#include "conio.h"
* x' q/ ^& t! n5 V/ t#include "stdlib.h"/ n7 A; J# J7 `& G
! o/ }: K: Z  n+ \, D
int add_people();
) @9 g% S- W4 m2 Y; N/*void check_people();9 f8 R  c% C: Q
void revise_people();
+ s& c- I8 y1 B: M! [# v" {void delete_people();*/. U0 _' p% O5 |/ \9 y. g
void save_exit();( m" r: S) f0 u5 c" C- U

8 L# A1 q, D" e2 O3 u; }: J7 }; p
( ]. a7 M- _( l6 C7 r) k# @# [
# Z8 _+ O4 |0 T" \main()5 T; v1 X$ F/ l: _
{. E# L6 X4 P, z
int com;                  /* 定义com变量用作读取操作符*/$ g/ |% a0 b; p, H$ ]. |# X
    printf("======================Welcome to Message manage system=========================\n");
* ?9 [2 i! ?- l0 p  k    printf("\n");$ A  b, G1 K5 t8 _* t
    printf("===============1.Add contact people     2.Check contact people=================\n");
+ K! I8 {/ O/ X& h    printf("\n");
6 A$ S& y/ s. f; V    printf("===============3.Revise contact people  4.Delete contact people================\n");
) ?) g# g: w, N' ?    printf("\n");$ l  P  i) z/ L4 o" R3 G
    printf("============================  5.Save&Exit======================================\n");) V" Z3 J3 |) `9 x. h
scanf("%d",&com);
/ `+ |' d4 l) s$ ]    while(1)  V$ G3 W1 P$ }- Y/ u* L
    {: v; O9 f7 `3 z6 U7 T6 t% c
        switch(com)
5 n4 z: H  X  F2 m# B) }5 E+ [- A        {0 V+ ^9 s& H7 j# Y7 _- H5 A
            case 1:add_people();break;
' p2 j" |; j& V" i7 G* m# o            /*case 2:check_people();break;8 k) ?; o* E% K3 `+ A) B
            case 3:revise_people();break;
, r2 K* `6 s7 K; v) @, e4 _            case 4:delete_people();break;*/
& _$ V( f+ J+ a9 y3 |# J) U            case 5:save_exit();break;/ \  ^, W5 [! W* K& g4 U
        }
0 {! h9 k6 D. D! Z    }, O% g1 G& }1 {( A6 e

& s$ I, }! U# P1 j  q# @   
+ q  C) i4 x+ F7 p1 X8 A) _}
, `1 K6 D, K7 L% ~0 i7 Q4 G1 t* ^6 x" A( }$ r' i" g
int add_people()
3 k5 [" A7 M" w; v- I! E! r{
' @+ p% L& o, h: g! X+ C1 V; G6 l9 O1 HFILE *fp;7 d$ v* |' P! u; y; v7 S) Y
char people,phone,filename[10],temp;9 y5 v- a1 ~/ J5 k: h+ e1 @1 @
temp=78;
7 H- N  R. p- \9 p% E* k! ~( Iwhile(1)+ [5 L' m& r9 ^4 Y7 X, E- b1 E; A) i0 z4 s
{& p% ]# i+ t, c
printf("输入要存储到的文件名\n");
* t9 ^" p# ]& A# T& f* s5 X- nscanf("%s",filename);
/ ^6 @( m& s. B' A4 M) ]- W5 r+ Wif((fp=fopen(filename,"w"))==NULL)
- c4 L1 \# h' A7 N% \{
0 E' v4 l' P4 {4 S+ f7 Tprintf("无法打开\n");
- j/ O( t1 ?% D. V2 Kexit(0);3 i  I0 i% c9 V# \& x9 {$ O
}
/ Q7 u# K! R( B' |  K$ Sloop:        printf("请输入你要保存的联系人(以#结束)\n");
0 [1 K- C6 P: Z# X; p9 c0 Gpeople=getchar();
8 S6 s4 T# X; i! |while(people!='#')
, i, n2 I, @: x5 U{
) R9 r9 V7 c" h" E# A# ]) ffputc(people,fp);, N( c) O. ]$ P2 `! \
putchar(people);
" K7 q+ e1 {, fpeople=getchar();% T6 c( d, l# ^! M
}
' m5 a5 v( X$ Qprintf("请输入要保存的联系人号码(以#结束)\n");6 B" m/ {3 [! ~* L& _$ I
phone=getchar();3 z1 b$ ^  D* ]+ }3 D  r" ]  Y4 s
while(phone!='#')
* b4 \0 i( N, {! |4 q{
9 n' i! `2 [  E5 X( M3 efputc(phone,fp);
. K+ J, v* I3 E1 k; {% Lputchar(phone);
0 O# O) s% \( \. g- K/ xphone=getchar();
; R" Y7 \& _! u$ w}
0 U8 f# R. l4 qputchar(10);        + m2 l$ D: ]6 N6 X
printf("是否继续添加联系人Y/N\n");  @1 f' f4 T; O6 |! }
scanf("%s",&temp);
9 D  I9 `9 ^! v# ]! Nif(temp=='n'||temp=='N')* O; [; v; z+ H" c) b, _3 d
{
1 ^* P5 ]" c  [0 Y# b- e" L9 ~* tprintf("按下任意键返回主菜单\n");
4 B) s' n3 a- E( Z% @: jgetchar();
2 ?: I* p, [) L4 l# x( nreturn 0;  L5 c7 Z: a0 D0 \
}else
: p1 `5 u' F* v  {+ d# Qgoto loop;
& X/ _% x( z4 C6 Q' H) `; ^}
* s- j, i% X/ V4 `! xfclose(fp);
% l4 ]" A) i/ b3 ^$ i: f5 m. E# Sreturn 0;4 c, A1 A. a5 u
}
. o+ T! ^: {+ G2 a8 E1 i
- s! t0 ?: J1 ?void save_exit()9 T8 {& b" f2 d/ e# J
{1 d' I9 d0 M: k2 k8 u
printf("按下任意键退出\n");+ l& I& _9 A9 T* t4 s
getchar();
1 j. U4 w% M) fexit(0);; N4 O$ p- m, G& C$ [9 |, a, Y
}
8 ^1 ^) {' W7 [) F) k问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
7 E0 V& h& ^6 h, u3 I. F3 t+ j; d4 Z5 J% L8 E5 h. o, s) V; ?





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5