30/09/2018, 19:01
Khắc phục lỗi noinstance of overloaded function strcpy_s
#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<conio.h>
#include<string.h>
using namespace std;
// nhap chuoi
void inc(char s[]);
// tinh tong cac so nguyen duong
int sumpositive(char s[]);
// tim tu dai nhat
void tumax(char s[], char a[]);
int _tmain(int argc, _TCHAR* argv[])
{
do
{
// nhap chuoi
char s[50];
cout << " nhap chuoi : ";
cin.getline(s, 50);
// xuat chuoi
inc(s);
// tinh tong cac so nguyen duong
int t = sumpositive(s);
cout << " tong cac so nguyen duong la : " << t << endl;
// tim tu dai nhat
char a[50];
tumax(s, a);
cout << " tu dai nhat trong mang la : ";
inc(a);
cout << " nhan ESC de thoat chuong trinh " << endl;
} while (_getch() != 27);
return 0;
}
// xuat chuoi
void inc(char s[])
{
cout << "*" << s << "*" << endl;
}
// tính tổn các số nguyên dương
int sumpositive(char s[])
{
int tongso = 0;
int len = strlen(s);
int i = len - 1;
while (i >= 0)
{
while (i >= 0 && !isdigit(s[i])) // bỏ qua những kí tự không phải số
i--;
int t = 1;
while (i >= 0 && isdigit(s[i]))
{
tongso += t*(s[i] - 48);
t = t * 10;
i--;
}
}
return tongso;
}
// tim tu dai nhat
void tumax(char s[], char a[])
{
int max = 0;
char b[50];
int nb = 0;
int len = strlen(s);
for (int i = 0; i < len; i++)
{
if (s[i] != 32 && s[i] != NULL)
{
b[nb++] = s[i];
}
else
{
b[nb] = NULL;
if (strlen(b)>max)
{
max = strlen(b);
strcpy_s(a,b);
}
nb = 0;
}
}
}
Bài liên quan