1
0

Compare commits

...

4 Commits

Author SHA1 Message Date
ca5e6e8331
Merge branch 'master' of https://code.mrmelon54.com/alfred/LearningCPP 2023-08-20 22:21:02 +01:00
891ee1959a
String vector tester. 2023-08-20 22:19:14 +01:00
798006c8d0
. 2022-12-16 10:02:16 +00:00
672289a9cf
W7 Q1 2022-11-25 12:24:19 +00:00

View File

@ -1,63 +1,50 @@
#include <iostream>
#include <string>
#include <vector>
#include <iomanip>
#include "stats.h"
#include <algorithm>
#include <iostream>
using string = std::string;
using svector = std::vector<string>;
//Placw in header!
template <typename T>
void printm(T m)
{
std::cout << m;
}
string prompts(const string&,bool*);
void sortVStringsAsc(svector &v);
template <typename T>
void printlm(T m)
{
printm(m);
printm("\n");
}
typedef std::vector<double>::size_type vtype;
double promptd(string,bool*);
int main()
{
std::setprecision(3);
printlm("Calculate the average and median of scores:");
bool s {};
std::vector<double> v {};
do
{
auto d = promptd("Enter a score (Enter a non number to finish entry) : ",&s);
if (s) v.push_back(d);
int main() {
svector inputs;
bool s{true};
while (s) {
auto inp = prompts("Enter a string (Invalid to begin processing): ",&s);
if (s) inputs.push_back(inp);
}
while(s);
printm("Score median is: ");
printlm(med(v, false));
printm("Score median (No Extremes) is: ");
printlm(med(v, true));
printm("Score average is: ");
printlm(avg(v, false));
printm("Score average (No Extremes) is: ");
printlm(avg(v, true));
sortVStringsAsc(inputs);
for (const auto &c : inputs) std::cout << c << "\n";
return 0;
}
double promptd(string message, bool *status)
{
double tr {0.0};
*status = false;
void sortVStringsAsc(svector &v) {
sort(v.begin(), v.end(), [] (const string &x, const string &y) {return x.length() < y.length();});
}
double sumList(const std::vector<double> &l) {
double sum = 0.0;
for (const auto &c : l) sum += c;
return sum;
}
class A {
std::vector<string> s;
};
string prompts(const string &message, bool *success) {
string tr{""};
*success = false;
std::cout << message;
if (!(std::cin >> tr))
{
if (!(std::cin >> tr)) {
std::cin.clear();
std::cin.ignore();
return 0.0;
return "";
}
*status = true;
*success = true;
return tr;
}