conio.h不是c標準頭文件,建議不要用這個頭文件。把這個頭文件刪掉。
創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設計、成都網(wǎng)站建設、成都網(wǎng)站制作、電子商務、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務。公司擁有豐富的網(wǎng)站建設和互聯(lián)網(wǎng)應用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設計師團隊。
將讀入密碼那行的函數(shù)改用gets
gets(input_pass);
另外為了避免bug,input_pass最好弄大一點。
C語言特點
基本特性
C++語言代碼
1、高級語言:它是把高級語言的基本結構和語句與低級語言的實用性結合起來的工作單元。?[10]
2、結構式語言:結構式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結構化。?[10]
4、代碼級別的跨平臺:由于標準的存在,使得幾乎同樣的C代碼可用于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機型。C語言對編寫需要進行硬件操作的場合,優(yōu)于其它高級語言。?[10]
5、使用指針:可以直接進行靠近硬件的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由于這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低于C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據(jù)著程序使用榜的前三名。?[11]
特有特點
C語言是一個有結構化程序設計、具有變量作用域(variable scope)以及遞歸功能的過程式語言。
C語言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
不同的變量類型可以用結構體(struct)組合在一起。
只有32個保留字(reserved keywords),使變量、函數(shù)命名有更多彈性。
部份的變量類型可以轉換,例如整型和字符型變量。
通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
是三種不同的函數(shù)驗證登陸吧,check1、check2、check3三類函數(shù)分別如下:
void check1()輸入輸出功能全部在函數(shù)完成;
void check2(name,pass)輸入在main中傳入函數(shù)進行判斷輸出;
int check3(name,pass)輸入輸出均在main函數(shù)完成,函數(shù)只做判斷返回結果。
#include "stdafx.h"
#include iostream
#include string
void check1()
{
char name[10], pass[10];
printf("請輸入賬號和密碼:\n");
scanf_s("%s%s", name, 10, pass, 10);
if (!strcmp(name,"admin")!strcmp(pass,"123"))
printf("賬號密碼正確!\n");
else
printf("賬號或密碼錯誤!\n");
}
void check2(char *n, char *p)
{
if (!strcmp(n, "admin") !strcmp(p, "123"))
printf("賬號密碼正確!\n");
else
printf("賬號或密碼錯誤!\n");
}
int check3(char *n, char *p)
{
if (!strcmp(n, "admin") !strcmp(p, "123"))
return 1;
else
return 2;
}
int main()
{
char name[10], pass[10];
check1();
printf("請輸入賬號和密碼:\n");
scanf_s("%s%s", name, 10, pass, 10);
check2(name, pass);
printf("請輸入賬號和密碼:\n");
scanf_s("%s%s", name, 10, pass, 10);
if(check3(name,pass)==1)
printf("賬號密碼正確!\n");
if(check3(name,pass)==2)
printf("賬號或密碼錯誤!\n");
system("pause");
return 0;
}
#include stdio.h
#define UC (1U1) // upper case
#define LC (1U2) // lower case
#define NUM (1U3) // 0-9
#define ALL (UC|LC|NUM)
int check(const char pass1[], const char pass2[])
{
const char *p = pass1[0];
unsigned int flag = 0;
if (strlen(pass1) 6 || strlen(pass1) 8)
{
printf("password length is 6 to 8.\n");
return 1;
}
if (strcmp(pass1, pass2))
{
printf("the tow passwords are diffrence.\n");
return 2;
}
while (*p)
{
if (*p = 'a' *p = 'z') flag |= LC;
else if (*p = 'A' *p = 'Z') flag |= UC;
else if (*p = '0' *p = '9') flag |= NUM;
else
{
printf("in valid charactor: %c.\n", *p);
return 3;
}
++p;
}
if (flag == ALL) return 0;
if ((flag UC) == 0)
{
printf("lack of uppercase.\n");
}
if ((flag LC) == 0)
{
printf("lack of lowercase.\n");
}
if ((flag NUM) == 0)
{
printf("lack of number.\n");
}
return -1;
}
int main(int argc, char *argv[])
{
char pass1[100];
char pass2[100];
do {
printf("input password:");
scanf("%s", pass1);
printf("repeat password:");
scanf("%s", pass2);
} while (check(pass1, pass2) != 0);
return 0;
}
#include string.h
char user[]="輸入的帳號", pwd[]="輸入的密碼";
if (strcmp("真實帳號", user) == 0 strcmp("對應密碼", pwd) == 0) {
printf("驗證成功!");
} else {
printf("帳號或密碼錯誤!");
}
int?password;
scanf("%d\n",password);
if(password==123456){
printf("密碼正確");
}else{
if(password=123456){
printf("小于密碼");
}else{
printf("大于密碼");
}
}